Ubuntu サーバーでの MySQL のバックアップとリストア

 

実行環境 Ubuntu 18.04.5 LTS

I. mysqldump コマンドによるバックアップ

mysqldump --opt --all-databases --events -u root | gzip > /my/pass/backup/mysql_all_bakcup.sql.gz

–all-databases ですべてのデータベースをバックアップします。

なお、デフォルトのホスト(--host=host_name, -h host_name)は localhost です。

II. mysql コマンドによるリストア

gz ファイルは解凍しておきます。

mysqldump コマンドでダンプしたファイルは、mysql コマンドでそのままリストアできます。

mysql -u root -p < /my/pass/backup/mysql_all_bakcup.sql

パスワードの入力を促されますので、入力します。

特定のデータベースのみリストアする場合は、データベース名を指定します。 

mysql -u root -p db_name < /my/pass/backup/mysql_all_bakcup.sql

III. コマンドラインでパスワードを入力する場合の注意

パスワードの指定方法

--password[=password], -p[password]

mysql -u root -ppassword < /my/pass/backup/mysql_all_bakcup.sql

mysql -u root -ppassword db_name < /my/pass/backup/mysql_all_bakcup.sql

短形式 -p でパスワードを指定する場合、-p と password の間にスペースを入れてはいけません。

また、パスワードに ( などの記号を使用していると、エラーが出ます。そういう場合は、\( などとエスケープします。