データフォルダーを移動してmysql centosをドライブする


11

データを別のフォルダーに移動して、cent os dbサーバーでドライブする必要があります。

新しいハードドライブを追加しました(スペースが不足したため)。

1 TBのハードドライブがあり、新しい2 TBがあり、同じサーバー(データセンターでホストされている専用サーバー)にデータを配置したい

データを失うことなくデータを移行する簡単な方法は何ですか?

現在私は次の場所にデータを持っています:/var/lib/mysql/cent os。mysql version is 5.1


@abdelsaidいいえ、私はmyisamを使用しています

回答:


13

ステップ1

最初にドライブをセットアップし(マウントされていてfstabに正しくセットアップされていることが前提)、新しいMySQLディレクトリを作成します。

sudo mkdir /path/to/new/mysql

このフォルダに適切な権限があることを確認してください:

chown -R mysql:mysql /data/mysql

ここで、データのコピー中にサービスをシャットダウンできます。現在のデータディレクトリから新しいデータディレクトリにデータをコピーします(例:)。

sudo cp -R /var/lib/mysql/* /path/to/new/mysql/

または、必要に応じて、または安全だと感じた場合は、各データベースを個別にコピーできますmv。コマンドを使用してフォルダを移動できます。

ステップ2

でMySQLデータの場所を変更できますmy.cnf。このファイルの場所がわからない場合は、次のコマンドを実行できます。

locate my.cnf

これにより、my.cnfが配置されている場所のパスがわかります。次に、ファイルを編集します。

sudo vi /etc/mysql/my.cnf (もちろんあなたはあなたのパスに置き換える必要があります)

次に、を探してdatadir = /var/lib/mysql更新しdatadir = /path/to/new/mysqlます。

次に、mysqlを再起動します

sudo /etc/init.d/mysqld restart

数日/数週間後、問題がなければ、古いフォルダ(/ var / lib / mysql)を削除するか、内部のすべてをバックアップできます。


0

移行中にシャットダウンしたくない場合は、mysql(同じバージョン)を使用して2tbのchroot環境にマスターマスターレプリケーションをセットアップし、同期時に1tbをオフにすると、chroot環境が機能します。

chroot環境を使用しない場合は、my.cnf(chroot環境ではない)を変更して、mysqlファイルを2TBディスクに保存する場所をポイントし、レプリケーションを無効にします。次に、chroot環境をオフにして、データをmy.cnfにあるものに移動します。同じディスク上にあるため、ここでの移動は1秒もかかりません。mysqlを再起動します。

これは少し複雑です。最初にローカルvm環境でこれを試すことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.