web-dev-qa-db-ja.com

MySQL datadirを移動しましたサーバーが実行されなくなりました!

昨日の私の問題( MySQL-ワークベンチが既存のテーブルを作成しようとするとテーブルの変更が失敗する )は、/ dev/sda2(/ root)のスペースが不足していることが原因でした。

これの原因は、デフォルトで、MySQLがDataDirectory(datadir)を/dev/sda2(/ root)にインストールしていたことでした。
したがって、MySQLサーバーを停止した後、その内容を/dev/sda3(/ home)に再帰的にコピーしました。
この変更を反映するために、/etc/init.d/mysql/etc/mysql/my.cnf、および/etc/apparmor.d/usr.bin.mysqldも編集しました。

MySQLサーバーの再起動と再起動の両方を試みた後、サーバーはまだ実行されていません。 /var/log/mysqlのerror.logも追加されていません。明らかに私は何かを逃しましたが、何ですか? Linux Mint13を実行しています。

1
MichaelJohn

私も同じことをしました。すべての権利と所有者が無傷であることを絶対に確認してください。私が正しければ、cp -rpでこれを行うことができます。フォルダをローカルでRsyncすると、所有者と権利もそのまま維持されます。ただし、構成を変更する必要はありません。シンボリックリンクで十分です。

  • 元のdatadirの名前をdatadir-oldなどに変更します。
  • 次に、新しい場所へのシンボリックリンクを作成します。
  • シンボリックリンクに正しい所有者を持たせたい場合は、新しいフォルダー(tmp)を作成し、そのフォルダー内でシンボリックリンクを移動してから、tmpフォルダーの所有者とその内容を変更してから、シンボリックリンクを元に戻します。
  • 構成ファイルへの変更を元に戻します。

コマンドラインで...(私はこれを試したことがないので、すべてが正しいかどうかを確認してください!)

Sudo -i
cd /var/lib
mv mysql mysql-old
ln -s /home/mysql mysql
mkdir tempdir
mv mysql tempdir
chown -R mysql:mysql tempdir
mv tempdir/mysql .
rm -rf tempdir

ディレクトリリストに、システムに次のように表示されます。あなたも似ているはずです!

drwx------  7 mysql         mysql          4096 Feb  6 12:01 mysql  
-rw-rw ---- 1 mysql mysql 1671430144 Feb 6 17:37 ibdata1 
-rw-rw ---- 1 mysql mysql 5242880 Feb 6 17:37 ib_logfile0 
 -rw-rw ---- 1 mysql mysql 5242880 Jan 28 14:35 ib_logfile1 
 drwx ------ 2 mysql mysql 24576 Jan 28 14:34 testdatabase_local 
 drwx --- --- 2 mysql mysql 4096 Jan 28 13:38 mysql 
-rw-rw ---- 1 mysql mysql 6 Jan 28 13:38 mysql_upgrade_info 
 drwx ------ 2 mysql mysql 4096 Jan 28 13:38 performance_schema 

これを試して、問題が解決するかどうかを確認してください。

0
SPRBRN