1行のコマンドラインで、SSHを使ってリモートのMariaDBデータベースをバックアップ・リストアする方法です。mysqldumpコマンドを使っています。
- リモートホスト名:
- remote.example.com
- リモートホストにログインするユーザー名:
- login-user
- MariaDBの管理アカウント:
- admin
- MariaDBの管理パスワード:
- ADMIN_Password
- バックアップしたいデータベース名:
- Database_Name
- バックアップファイル名:
- database-backup.sql.gz
リモートマシンにログインするための設定を ~/.ssh/config ファイルに記述しておきます。
Host remote.example.com HostName remote.example.com User login-user IdentityFile ~/.ssh/id_ed25519
バックアップ操作
$ ssh remote.example.com 'mysqldump -uadmin -pADMIN_Password --single-transaction Database_Name | gzip' | cat > database-backup.sql.gz
リストア操作
$ cat database-backup.sql.gz | ssh remote.example.com 'zcat | mysql -uadmin -pADMIN_Password -DDatabase_Name'
通信が切れた場合のことを考えると、リストア操作はこの方法を使わないほうがいいような気がする…
コメント