ホームページ > データベース > mysql チュートリアル > Mysql 5.7 データベースのデータ保存場所を変更する詳細な例

Mysql 5.7 データベースのデータ保存場所を変更する詳細な例

Y2J
リリース: 2017-05-22 14:41:51
オリジナル
2743 人が閲覧しました

MySQL データベースに保存されるデータが徐々に大きくなるにつれて、データを保存するための本来の領域がいっぱいになり、mysql が接続できなくなります。したがって、保存されたデータの保存場所を変更する必要があります。MySQL 5.7 でデータベースのデータ保存場所を変更する方法を説明します。徐々に大きくなり、元の保存データの容量がいっぱいになり、mysql に接続できなくなります。そのため、データの保存場所を変更する必要があります。ここではそのプロセスのいくつかの手順を説明します。メモしておいて後で見直してください。

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

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

datadir=/var/lib/mysql
ログイン後にコピー

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

datadir=/data/mysql/
ログイン後にコピー

/etc/init.d/mysqld ファイルも変更し、 datadir を変更します="$result" は次のように変更されました:

datadir=”/data/mysql”
ログイン後にコピー

/etc/init.d/mysqld文件,将datadir=”$result”改为:

service mysql stop
ログイン後にコピー

2.停止mysql服务

mkdir /data/mysql
ログイン後にコピー

3.创建新的数据存放目录

mv /usr/local/mysql/data/* /data/mysql
ログイン後にコピー

4.将数据移动到新的数据库存放目录里面

chown mysql:mysql -R /data/mysql/
ログイン後にコピー

这里补充一点儿知识,innoDB引擎和MyISAM引擎的数据文件不一样。

针对MyISAM引擎, 数据文件以”*.frm”,”*.MYD”,”*.MYI”三个文件存储于”/var/lib/mysql”目录下的对应数据库文件夹中。直接将这些文件移动到新的数据存放目录里面,就可以。

针对innoDB引擎,数据则存储在”$innodb_data_home_dir” 的ibdata1 2. mysql サービスを停止します

socket=/data/mysql/mysql.sock
ログイン後にコピー
3. 新しいデータ ストレージ ディレクトリを作成します
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock
ログイン後にコピー

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

service mysql restart
ログイン後にコピー

ここで少し知識を追加したいと思います。 innoDB エンジンと MyISAM エンジンのデータ ファイルは異なります。

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

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

5. mysql データベース ディレクトリの権限と

設定ファイルを変更します

ERROR 1146 (42S02): Table ** doesn't exist
ログイン後にコピー

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

ERROR 1005 (HY000): Can't create table ‘runoob_tbl' (errno: 13)
ログイン後にコピー
/var /lib/mysql/mysql.sock
mysql> REPAIR TABLE ***;
ログイン後にコピー
7. mysql サービスを再起動します

Execute

rrreee

データベースの読み取りと書き込み操作を開始すると、次の問題が見つかりました:

読み取りと書き込み:

rrreee

テーブルの作成:

rrreee

解決策:

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

再度実行

rrreee

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

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

MySQLでのデータベース操作知識の概要

Mysqlの入門チュートリアル

Mysqlのエラー報告と解決策Mysql rootパスワードの操作方法

【関連する推奨事項】 】 1

5. よくあるデータベース設計の 5 つの間違い

以上がMysql 5.7 データベースのデータ保存場所を変更する詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート