MySQLのバックアップ・リストアでよく使うコマンドを紹介します。
コマンドの使用方法と実際の使用例を合わせて記載するので、是非自分自身の環境でも実際に試してみてください。
環境
- MySQL: 8.0.28
バックアップ用コマンド
※-p
の後のパスワードは敢えて省略しております。
基本的なバックアップ
データベースの内容をsqlファイルにバックアップする方法です。
コマンド
mysqldump -u {user_name} -p {database_name} > {output_file_name}
使用例
$ mysqldump -u root -p Test > test_dump.sql
※パスワードが要求されるので、入力してください
gzipで圧縮したバックアップ
データベースの内容をgzファイルにバックアップする方法です。圧縮するので、データ量を減らすことができます。
コマンド
mysqldump -u {user_name} -p {database_name} | gzip > {output_file_name}
使用例
$ mysqldump -u root -p Test | gzip > test_dump.sql.gz
データ構造だけバックアップ
データ構造だけバックアップする方法です。
テーブル内のレコード出力が不要な場合に有効です。
コマンド
mysqldump -u {user_name} -p --no-data {database_name} > {output_file_name}
使用例
$ mysqldump -u root -p --no-data Test > test_no_data.sql
リストア用コマンド
基本的なリストア
sqlファイルからリストアする方法です。
コマンド
mysql -u {user_name} -p {database_name} < {input_file_name}
使用例
mysql -u root -p Test < test_dump.sql
圧縮したファイルからリストア
圧縮されているgzファイルからリストアする方法です。
コマンド
zcat {input_file_name} | mysql -u {user_name} -p {database_name}
使用例
zcat test_dump.sql.gz | mysql -u root -p Test
まとめ
MySQLのバックアップ・リストアで役立つコマンドに関して紹介しました。
紹介した基本的なコマンドを把握しておけば、バックアップ・リストアで大きく困ることはないかと思います。
是非活用してみてください。
コメント