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 における if 判断の使用

Django Web開発の過程で、HTMLを書く際にバックエンドから同じ名前のリスト変数が渡されるが...

Vue は PDF.js を統合して PDF プレビューを実装し、透かしを追加する手順を実行します。

目次成果を達成する利用可能なプラグインの紹介ニーズに応じてプラグインを選択するプラグインのインストー...

MySQLでJSONフィールドを操作する方法

MySQL 5.7.8 では json フィールドが導入されました。このタイプのフィールドは使用頻度...

HTML チュートリアル: よく使われる HTML タグのコレクション (6)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

JavaScriptのonclickとclickの違いの詳細な説明

目次addEventListener が必要な理由は何ですか? addEventListener を...

MySQL パスワード変更方法の概要

MySQL 5.7 より前のバージョンのパスワードを変更する方法:方法1: SET PASSWORD...

element.style インライン スタイルを変更する方法のチュートリアル

序文上記の Web ページ スタイルを記述しているときに、スタイルの値をどのように変更しても、ページ...

理論の普及——ユーザーエクスペリエンス

1. 概念分析 1: UE ユーザー エクスペリエンス <br />英語ではユーザー エ...

Vueはシンプルなマーキー効果を実装します

この記事では、Vueの具体的なコードを共有して、シンプルなマーキー効果を実現しています。具体的な内容...

Vue+Router+Element でシンプルなナビゲーションバーを実装する

このプロジェクトでは、Vue+Router+Element の具体的なコードを共有して、シンプルなナ...

Dockerコンテナのネットワーク管理とネットワーク分離の実装

1. Dockerネットワーク管理1. Dockerコンテナ方式1) Dockerが外部ネットワーク...

js 配列エントリ() 反復メソッドを取得する

目次1.entires() メソッドの詳細な構文2.entires() メソッドの一般的な使用法と注...

Windows10システムにスーパーセットをインストールする手順

Superset は、エレガントなインターフェースとデータ テーブルに基づく動的なデータ生成を主な機...

HTML メタタグの一般的な使用例のコレクション

マタタグとは<meta> 要素は、検索エンジン向けの説明やキーワード、更新頻度など、ペー...

Centos7.3は起動時に自動的に起動または指定されたコマンドを実行します

Centos7では、/etc/rc.d/rc.localファイルの権限が削減されており、実行権限があ...