mysqlの起動しない、のためにこの記事ではあるが、データファイルは、状況を失っていません。
不測の事態に対するMySQL、他のデータベースにデータを移行する方法、データベースのバックアップを作成することなく、ケースを起動しないようにリードします。
元のデータベースアドレス:192.168.1.100(以下、サーバと呼びます)
新しいデータベース・アドレス:192.168.2.100(以下、サーバBと呼びます)
データ復旧プロセス:
- サーバは、コマンド入力し、入力した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文件的。