MySQLは状況下で、どのようにデータを回復するために起動しませんか?

mysqlの起動しない、のためにこの記事ではあるが、データファイルは、状況を失っていません。

不測の事態に対するMySQL、他のデータベースにデータを移行する方法、データベースのバックアップを作成することなく、ケースを起動しないようにリードします。

元のデータベースアドレス:192.168.1.100(以下、サーバと呼びます)

新しいデータベース・アドレス:192.168.2.100(以下、サーバBと呼びます)

データ復旧プロセス:

  1. サーバは、コマンド入力し、入力したCATな/etc/my.cnfを(例えばファイルとして検索/ -name my.cnfファイルの所在照会コマンドを使用して、現在の位置ではありません)

検索DATADIRパスを

  • することにより、CD / WWW /サーバー/データは、データのフォルダを入力するように命じます。

これは、データファイルのすべてのライブラリで現在のフォルダのmysqlです。

バスの下には、フォルダのファイルには、特定のファイルを復元する方法を示します。

  • サーバーへのBは、サーバはパスワードが同じライブラリで、バスライブラリ、ユーザー名を作成します。作成したら、上記の方法により、ディレクトリにデータファイルが、バスのフォルダが存在します。

  • BのMySQLサービスサーバ、サーババスフォルダ、ファイルdb.optパッケージ以外のファイルを停止し、サーバーは、バスBのデータディレクトリのファイルフォルダに送信します。解凍。

  • コマンドラインから、/ WWW /サーバー/データ/バス所有者とグループフォルダは、mysqlのに変更します

所有者の変更

Chown -R mysql /www/server/data/bus

グループ変更

Chgrp -R mysql /www/server/data/bus

  • 成功した変更後、そのようなプロンプトとして、データベースに、データベースサーバBを起動し、エラー:1146:テーブルが存在しない場合 、 サーバー・データ・フォルダibdata1とファイルである必要がある、適切なサーバの場所Bにコピーし、対応する変更すべての中人とグループのアクセス権。

これまでのところ、データベースを復元するためのデータファイルが完成し、

注1:如未改动数据文件夹所有者和组,启动数据库后,进入bus库点击相应表名会出现 ERROR #1017 :Can't find file: '/xxx.frm' 错误或ERROR #1036 Table '表名' is read only

注2:如数据库较多,可能会发现,部分数据库文件中有.frm .MYD .MYI这三种文件,部分数据库中只有.frm文件,这是因为MySQL存储表的时候,使用的默认数据库存储引擎是InnoDB,而使用InnoDB存储引擎的时候,是不生成.MYD 和.MYI文件的。

おすすめ

転載: www.cnblogs.com/35youth/p/11315063.html