/varまたは/rootのパーティションスペースが不足しているため、MySQLデータディレクトリを変更し、cPanelを含むサーバーのデータディレクトリを/homeに変更する必要がある場合があります。データディレクトリを変更する理由は他にもあるかもしれません。
デフォルトでは、MySQL/MariaDBデータディレクトリは/var / lib / mysqlです。 。すべてのデータベースを/var / lib / mysqlに保存します 。 MySQLデータディレクトリを/homeに変更するには、次の手順を参照してください。あなたが
であると想定します- まず、すべてのMySQLデータベースのバックアップを作成するため、問題が発生した場合でもデータが失われることはありません。
# tar -cvf mysql.tar /var/lib/mysql
- バックアップが完了したら、以下のコマンドでMariaDBサービスを停止します。
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status
- screenコマンドをインストールします
yum install screen
screen // It will create screen - 次に、すべてのMySQLデータベースを/ home/mysqlに同期します。次のコマンドは、/ homeにmysqlディレクトリを作成し、同期プロセスを開始します。
rsync -avz /var/lib/mysql to /home
- 同期の進行中に、他のタスクに取り組むこともできます。複数の画面が作成されたら、次のように画面を再開/切り替えることができます。
screen -r // it will resume previous screen
ctrl A and ctrl D // for return to main screen
ctrl A and shift ? // for screen command menu - MySQL / MariaDBデータディレクトリを変更するには、ファイル /etc/my.cnfを編集します お気に入りの編集者と一緒に。
vi /etc/my.cnf
- データディレクトリを / var / lib / mysqlから変更します /home。へ datadirの既存の行が見つからない場合は、以下のように新しい行を追加できます。
datadir=/home/mysql
- ソケットファイルを/tmpに再リンクする必要があります。
# rm -rf /tmp/mysql.sock
# ln -sf /home/mysql/mysql.sock /tmp/mysql.sock - /homeからMariaDBサービスを実行するには /usr/lib/systemd/system/mariadb.serviceの場所にあるmariadb.serviceファイルを変更する必要があります。
ProtectHome=true to ProtectHome=false
- 最後に、MariaDBサービスを開始します。
systemctl start mariadb
- MariaDBサービスは、以下の警告で失敗する可能性があります。このエラーを解決するには、サーバーを再起動してMariaDBサービスを再開すると、再び機能します。
MariaDB cannot start after update: [Warning] Need to run systemctl daemon-reload
- 機能を確認するには、cPanelからデータベースを作成する必要があり、 / home/mysql内に作成する必要があります。 cPanel>MySQLデータベースの作成を参照してください MySQLデータベースを作成するため。データベースが/home / mysql内に作成されている場合、 それはあなたがあなたの仕事で成功していることを意味します。
- すべてが正常に機能している場合は、 / var / lib/mysqlから古いデータディレクトリを削除できます。
rm -rf /var/lib/mysql