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
)は localhost です。host_name
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 の間にスペースを入れてはいけません。
また、パスワードに ( などの記号を使用していると、エラーが出ます。そういう場合は、\( などとエスケープします。