Windows7 で MySQL 5.5 と MySQLWorkbench を使用しています。C: ドライブにデータベースを正常に作成しましたが、それを E: ドライブに移動したいと考えています。mysqld デーモンを停止し、my.ini ファイルを編集して datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" を datadir="E:/MySQL/data/" に変更しました。C: の場所から E: の場所にデータをコピーしました。mysqld プロセスを開始できますが、作成したデータベースが表示されません。私が間違っていることについて誰かが説明してくれますか?
4 に答える
innodbデータベースを別のパーティションに配置したかったので、MySQLWorkbenchからMySQLを停止しました。innodbデータベースibdata1と、MySQLがC:\ ProgramData \ MySQL \フォルダーに自動的に作成した2つのログファイルをE:パーティションの新しいフォルダーにコピーしました。my.iniに以下を追加しました。
innodb_data_home_dir = "E:/MySQL Data"
これで、データベースを起動すると、E:ドライブのibdata1にすべての変更が加えられます。
データベースを移動しようとしたときに、ウィンドウが新しいデータ フォルダーに対して元のデータ フォルダーと同じ権限を持っていないという問題に遭遇しました。フォルダのプロパティに移動し、[セキュリティ] タブを選択して、正しいユーザーが新しいフォルダにアクセスできることを確認できます。
基本的に、古いディレクトリのすべての内容を新しいディレクトリにコピーします。これを行っている間、バイナリログもコピーしないように注意してください (存在する場合、それらは mysql-bin.001 などのように見えます。また、古いバイナリログへの実際のパス参照が含まれているため、mysql-bin.index もコピーしないでください)。 . これを行うと、mysql デーモンを再起動し、ログインしてデータベースを表示できるようになります。
PS: テストされていませんが、動作するはずです。
このツールhttp://sourceforge.net/projects/mysqlbutool/を使用してデータベースをディスクにダンプします。次に、このツールhttp://www.webyog.com/を使用して新しいサーバーに復元します。