Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  SQL フォーマットバックアップのリロード

7.4.2 SQL フォーマットバックアップのリロード

SQL ステートメントから構成される mysqldump によって書き込まれたダンプファイルをリロードするには、それを mysql クライアントへの入力として使用します。--all-databases または --databases オプションを使用して、mysqldump によってダンプファイルが作成された場合、それには CREATE DATABASE および USE ステートメントが含まれ、データをロードするデフォルトのデータベースを指定する必要がありません。

shell> mysql < dump.sql

または、mysql 内から、source コマンドを使用します。

mysql> source dump.sql

ファイルが CREATE DATABASE および USE ステートメントを含まない単一データベースダンプである場合、まずデータベースを作成します (必要に応じて)。

shell> mysqladmin create db1

次に、ダンプファイルをロードする場合、データベース名を指定します。

shell> mysql db1 < dump.sql

または mysql 内から、データベースを作成し、それをデフォルトのデータベースとして選択し、ダンプファイルをロードします。

mysql> CREATE DATABASE IF NOT EXISTS db1;
mysql> USE db1;
mysql> source dump.sql

User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
  Posted by Jim Leek on October 13, 2011
I ran across the following error when restoring all databases from a mysqldump file:

ERROR 1005 (HY000) at line 156: Can't create table 'db1.testtable' (errno: 121)

Normally this error is caused by problems in the CREATE TABLE syntax for InnoDB tables. Of course as my SQL had been created from the mysqldump utility, I was confused how an error had appeared in the SQL code!

It turned out it was the presence of existing "ibdata1", "ib_logfile0" and "ib_logfile1" in /var/lib/mysql/ that was causing the problem.

The solution for me was to stop mysql, delete EVERYTHING in the /var/lib/mysql/ folder, then start mysql (this recreates fresh versions of the above files in addition to a fresh "mysql" database), and then re-run my import of the dump.sql file:

shell> mysql < dump.sql

(No username or password needed as the fresh "mysql" database has no root password.)

This worked perfectly and recreated all databases (including re-populating the "mysql" database with my previous data - including my old root password).
Sign Up Login You must be logged in to post a comment.