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 つの方法のまとめ

推薦する

スローモーションアニメーション効果を実現するJavaScript

この記事では、スローモーションアニメーション効果を実現するためのJavaScriptの具体的なコード...

jsはショッピングウェブサイトの商品の拡大鏡効果を実現します

この記事では、ショッピングサイトの商品の拡大鏡効果を実現するためのjsの具体的なコードを紹介します。...

Django プロジェクトを作成して MySQL に接続する方法

1: django-admin.py startproject プロジェクト名2: cd プロジェク...

VMware 12 での Ubuntu 16.04 インストール チュートリアル

この記事では、VMware 12でのUbuntu 16.04のインストールチュートリアルを参考までに...

Vue+SpringBoot+Shiroのクロスドメイン問題を解決する

目次1. Vueフロントエンドを構成する1. クロスドメイン構成を開発する2. 本番環境のクロスドメ...

マークアップ言語 - リスト

標準化されたデザインソリューション - マークアップ言語とスタイルマニュアルWeb 標準ソリューショ...

Element における複数データ読み込み最適化の実装

目次シナリオコードの実装要約:シナリオ最近、ElementUI をベースにしたバックグラウンド管理シ...

Dockerコンテナを使用してホストネットワークにアクセスする方法

最近、nginx をリバース プロキシとして使用し、docker で nginx を実行するシステム...

MySQLの指定されたテーブルからデータをエクスポートする例の詳細な説明

指定されたテーブルからデータをエクスポートするMySQLの詳細な説明必要とする: 1. テーブルはす...

MySQL統計テーブルのサイズを説明する例

各データベース内の各テーブルのサイズをカウントすることは、データ ガバナンスの最も単純な要件の 1 ...

ウェブデザイナーもウェブコーディングを学ぶ必要がある

多くの場合、Web デザインが完成した後でデザイナーの無知が露呈し、批判されることがあります。彼らは...

vue3.0共通コンポーネントの自動インポート方法の例

1. 前提条件インポートには require.context メソッドを使用します。vite で作成...

入力ボックスのコンテンツプロンプトと非表示機能を実装する JavaScript

入力ボックスが小さい場合、内容を入力した後に、入力内容が拡大されたプロンプト ボックスを表示したいこ...

VS2019 が mysql8.0 データベースに接続する方法 (画像とテキスト付き)

1. まず、VS2019とMySQLデータベースを準備します。どちらも公式サイトからダウンロードで...