MySQL 5.7 でデータベースのデータ保存場所を変更する方法

MySQL 5.7 でデータベースのデータ保存場所を変更する方法

MySQL データベースに保存されるデータが徐々に増加すると、元のストレージ領域がいっぱいになり、MySQL に接続できなくなります。そのため、データが保存されている場所を変更する必要があります。プロセスのいくつかの手順を以下に示します。後で確認できるようにメモしておいてください。

1. MySQLデータが保存されているディレクトリを変更する

変更する場所は 2 か所あり、そのうちの 1 つは /etc/my.cnf ファイル内の datadir を変更することです。デフォルトでは:

データディレクトリ=/var/lib/mysql

/data/ ディレクトリが比較的大きいため、次のように変更しました。

データディレクトリ=/data/mysql/

また、 /etc/init.d/mysqld init.d/mysqld ファイルを変更し、 datadir=”$result”次のように変更します。

データディレクトリ="/data/mysql"

2. MySQLサービスを停止する

サービスmysql停止

3. 新しいデータ保存ディレクトリを作成する

mkdir /data/mysql

4. データを新しいデータベースストレージディレクトリに移動する

mv /usr/local/mysql/data/* /data/mysql

少し追加の知識があります: innoDB エンジンと MyISAM エンジンのデータ ファイルは異なります。

MyISAM エンジンの場合、データ ファイルは、「/var/lib/mysql」ディレクトリの下の対応するデータベース フォルダーに、「*.frm」、「*.MYD」、および「*.MYI」の 3 つのファイルとして保存されます。これらのファイルを新しいデータ ストレージ ディレクトリに移動するだけです。

innoDB エンジンの場合、データは (通常) $innodb_data_home_dir” 的ibdata1に保存され、構造ファイルは table_name.frm に存在します。

5. MySQLデータベースディレクトリの権限と設定ファイルを変更する

chown mysql:mysql -R /data/mysql/

6. ソケットを変更する

2か所のソケットを変更します。/etc/my.cnf

ソケット=/data/mysql/mysql.sock

/var/lib/mysql/mysql.sockへの接続ファイルを作成する

sock は、mysql.sock の次の行に格納されます。

7. MySQLサービスを再起動する

埋め込む

サービスmysqlの再起動

データベースの読み書きを開始したときに、次の問題が見つかりました。

読み取りと書き込み:

エラー 1146 (42S02): テーブル ** が存在しません

テーブルを作成します。

エラー 1005 (HY000): テーブル 'runoob_tbl' を作成できません (エラー番号: 13)

解決:

/data/mysql ディレクトリで、ib_logfile* ファイルを削除して、innoDB エンジン テーブルが正常になるようにします。

再実行

mysql> テーブルを修復します ***;

大量のデータを含むテーブルの場合、このプロセスは遅くなる可能性があります。実行が完了すると、MyISAM エンジン テーブルも正常になります。

MySQL関連のトピック、必要な友人は以下を参照してください

MySQLにおけるデータベース操作知識のまとめ

MySQL 入門チュートリアル

MySQL エラーと解決策

Mysql ルートパスワード操作方法

上記は、私がご紹介したMySQL 5.7のデータベースのデータ保存場所を変更するためのソリューションです。お役に立てれば幸いです。ご質問がございましたら、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM Webサイトをご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • MySQL データベースにスクレイピー データを保存する 2 つの方法 (同期と非同期)
  • MySQL に JSON のようなデータを保存する Python の例
  • Ubuntu に MySQL 5.7 をインストールし、データ ストレージ パスを構成する方法
  • MySQLでデータベースデータ保存ディレクトリを変更する方法
  • MySQLデータストレージプロセスパラメータの詳細な例
  • Centos7でmysql5.7.19のデータ保存場所を移動する方法
  • MySQLのスイッチングデータ保存ディレクトリの実装方法
  • MySQL データベース アーキテクチャの詳細
  • MySQL 空間データストレージと関数

<<:  Dockerコンテナを使用してプロキシ転送とデータバックアップを実装する方法

>>:  vue-router を遅延ロードする 3 つの方法のまとめ

推薦する

HTML チュートリアル、HTML デフォルト スタイル

html 、アドレス、引用、本文、 dd 、 div 、 dl 、 dt 、フィールドセット、フォ...

DockerのIDEA構成プロセス

IDEA は Java で最も一般的に使用されている開発ツールであり、Docker は最も人気のある...

MySQLストレージ時間タイプの選択に関する問題の説明

MySQL では、datetime 型は通常、時間を保存するために使用されますが、現在では多くのシス...

HTML ページでギリシャ文字を使用する方法

ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...

Linux でパスワードの有効期限を表示および設定する方法

適切な設定を行うことで、Linux ユーザーにパスワードを定期的に変更させることができます。パスワー...

SQL グループ化により重複を削除し、他のフィールドで並べ替える

必要:あるフィールドの同一項目を結合し、別の時間フィールドで並べ替えます。例:初めに テーブルから都...

MySQLからデータをインポートする際の不正なフォーマット、インポートの遅延、データ損失などの問題を迅速に解決します。

遅い問題を完全に解決したい場合は、MySQL を MySQL 8.0 にアップグレードすることをお勧...

altとtitleの違いの詳しい説明

これら 2 つの属性はよく使用されますが、その違いはまとめられていません。それでは、その使い方をまと...

MySQLデータストレージプロセスパラメータの詳細な例

MySQL ストアド プロシージャ パラメータには、in、out、inout の 3 種類があります...

HTMLとリソースがどのように読み込まれるかを理解します

このブログのすべてのコンテンツは、クリエイティブ コモンズ ライセンスの下でライセンスされています。...

データベースを削除せずにMySQLのすべてのテーブルを素早く削除する方法

この記事では、例を使用して、データベースを削除せずに MySQL 内のすべてのテーブルをすばやく削除...

Vue3 コンパイルプロセス - ソースコード分析

序文: Vue3 がリリースされてからかなり経ちますが、最近、会社のプロジェクトでVue3 + Ty...

Linuxで権限が拒否された場合の解決策の詳細な説明

許可が拒否されました:その理由は、ファイルの読み取り、書き込み、作成、削除などの権限がないためです。...

localStorageの有効期限を設定するいくつかの方法

目次問題の説明1. 基本的な解決策2. 中間的な解決策3. 高度なソリューション4. ハードコアソリ...

Linux で NFS のワンクリック展開を実装する方法

サーバー情報管理サーバー: m01 172.16.1.61サーバー: nfs01 172.16.1....