/ /ライブサーバ上のMYSQLデータベーステーブルを変更する - mysql、データベース

ライブサーバ上のMYSQLデータベーステーブルを変更する - mysql、データベース

こんにちは私たちは3〜4のレコードがあるデータベースを持っています新しい列が追加されるこの特定の表の毎秒の読み取りと書き込み。この表には60000を超えるレコードがあります。 私はこれに新しい列を追加する必要があります。 MySQL> ALTER TABLE tablename ADDカラム名int(1);

これを行うための最も安全な方法は何でしょうか。 MYSQLサーバーを停止せずに、この新しい列を追加することは可能ですか?また、更新プロセス中に新しいレコードを失うことなく、かなり長い時間がかかると思いますか?

回答:

回答№1は6

MySQLのドキュメント(http://dev.mysql.com/doc/refman/5.1/en/alter-table.html)では、次の情報を提供しています。

"ほとんどの場合、ALTER TABLEは一時的に元のテーブルのコピー。 MySQLはテーブルを変更している他の操作を待ってから処理を進めます。コピーに変更を組み込み、元のテーブルを削除して新しいテーブルの名前を変更します。 ALTER TABLEが実行されている間、元のテーブルは他のセッションによって読み込み可能です。 後で始まるテーブルへの更新と書き込みALTER TABLE操作の開始は、新しいテーブルが準備完了するまで停止され、更新されずに新しいテーブルに自動的にリダイレクトされます。 テンポラリテーブルは、新しいテーブルのデータベースディレクトリに作成されます。

ドキュメントによれば、データの損失はないはずです。しかし、いつものように、実際のシステムに変更を加える前に、テストマシンで同じシナリオをチェックしてください。