mysqlデータベースに空き容量がありません

mysqlデータベースに空き容量がありません

回復中です200GB新しくインストールするデータベースRHELマシン。ところで復元をしてから問題が生じましたno space available

データベースの保存ディレクトリを変更できますか?

答え1

まず、次のクエリのみを使用してスペースの問題に関連していることを確認できますmysql

mysql -uUSER -p -e 'SHOW VARIABLES WHERE Variable_Name LIKE "%dir"'

上記のコマンドで私に返された出力は次のとおりです。

+---------------------------+----------------------------+
| Variable_name             | Value                      |
+---------------------------+----------------------------+
| basedir                   | /usr                       |
| character_sets_dir        | /usr/share/mysql/charsets/ |
| datadir                   | /var/lib/mysql/            |
| innodb_data_home_dir      |                            |
| innodb_log_group_home_dir | ./                         |
| lc_messages_dir           | /usr/share/mysql/          |
| plugin_dir                | /usr/lib/mysql/plugin/     |
| slave_load_tmpdir         | /tmp                       |
| tmpdir                    | /tmp                       |
+---------------------------+----------------------------+

上記のコマンドでわかるように、データディレクトリに存在します/var/lib/mysql。データベースを収容するのに十分なスペースがないことを確認する必要があります/var。この場合、検索は正しいです。次のコマンドを使用して実装しました。

df -P /var | tail -1 | cut -d' ' -f 1

上記のコマンドは、デフォルトで特定のディレクトリのマウントポイントを通知します。私が疑ったように、マウントポイント/dev/sda240GBスペース。今、データディレクトリを変更することは非常に簡単です。

mysql サービスを停止するために使用します。

service mysqld stop

/etc/my.cnf次のようにファイルを編集します。データディレクトリスペースが十分なパーティションに。 (これはRHELに固有のもので、OSのバージョンによって異なる場合があります)。変化データディレクトリ、コマンドを使用して mysql サービスを再起動し、

service mysqld start

引用する

https://stackoverflow.com/questions/17968287/how-to-find-the-mysql-data-directory-from-command-line-in-windows

https://stackoverflow.com/questions/3274354/how-to-find-out-mount-partition-a-directory-or-file-is-on-linux-server

答え2

はい、.dbファイルのdatadir変数を変更してMySQLデータベースデータの場所を変更できます/etc/my.cnf

以下の手順を試す前に、データをバックアップしてください。

  1. mysqldサービスを停止します(systemctl mysqld stop)。
  2. /etc/my.cnfdatadir変数を編集して目的の場所(datadir='insert_path_to_new_location')に変更し、次の手順のために前の場所をメモします。
  3. 古い datadir 位置のデータを新しい場所にコピーします。
  4. mysqldサービス(systemctl mysqld start)を起動します。
  5. mysqldサービスが新しい場所で正しく機能していることを確認してください。
  6. 古いデータディレクトリの残りの部分をクリーンアップ!

答え3

はい、my.cnfファイルの設定を使用して、MySQLデータベースの場所を変更できます。

関連情報