CentOSでMysqlがデータストレージパスを変更

1350 ワード

CentOSでMysqlがデータストレージパスを変更
yumでインストールしたmysqlはデフォルトでデータ格納場所を/var/lib/mysqlに設定しますが、このディレクトリはcentosインストール時にシステムにマウントされたディスクで、ディスクサイズは大きく設定されません.データベースのデータが多すぎると、そのディスクがいっぱいになり、mysqlサービスが強制的に停止し、起動できません.エラーメッセージは、「mysql deamon failed to start」、「Timeout error occurred trying to start MySQL Daemon」、「table is full」などとなります.mysqlデータベースのデータ格納場所を変更する必要があります.
  • mysqlサービスをオフservice mysql stop
  • 自分のデータ格納フォルダを作成するcd /homemkdir mysqldata
  • ファイルディレクトリ移行mv /var/lib/mysql /home/mysqldata/
  • 修正my.cnfプロファイルはsocket=/var/lib/mysql/mysql.sock設定:/home/mysqldata/mysql/mysql.sock
  • MySQL起動スクリプト/etc/initを修正する.d/mysqldこのファイルはshellスクリプトで、多くの内容が含まれています./var/lib/mysqlが表示されるすべての場所を/home/mysqldata/mysql/に置き換える必要があります.vimで/var/lib/mysqlで検索できます.
  • MySQL安全起動スクリプト/etc/initを修正する.d/mysqld_safeはmysqldに対してスクリプトを起動する操作と同じです.

  • 以上の変更が完了したらmysqlサービスを再起動します.service mysql start
    一般的にはmysqlに接続できますが、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)エラーが発生した場合、socketの位置にエラーがあることを示し、簡単な方法でソフト接続を確立します.
    ln -s /home/mysqldata/mysql/mysql.sock /var/lib/mysql/mysql.sock