【技術メモ】MariaDB(MySQL) 5.7.29でmysqldumpを使って自動バックアップを取る方法 ~認証まわりのエラーをなんとかする~
いえーい!私だよん!
皆さんはDBのバックアップってどうやってとってますか?
うちは今までは取得していなかったのですが無いと流石に不安なので
とりあえず追加インストールが必要ないmysqldumpで取得したいと思います。
やり方は検索すれば沢山出てくるのでどれでも良いんですが
以下のサイトが分かりやすかったので参考にさせていただきました。
【初心者向け】MariaDB入門:バックアップ編〜mysqldumpの使い方,オプション,cron登録,innoDB確認〜
これ通りに作って実行してみたところこんなエラーが…
1 2 3 4 |
Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help |
ググったところ今のバージョンではシェルに直接パスワードを書く行為はNGっぽい
とりあえず認証情報を格納したファイルを作成
vi /etc/mysqldump_backup.conf
1 2 3 |
[mysqldump] user=bkupusr password=P@$$w0rd |
んでスクリプトの認証情報の部分を以下のように修正
1 2 3 4 5 6 |
[変更前] mysqldump -u bkupusr -p P@$$w0rd -F --lock-all-tables --add-drop-database --all-databases > ${BkupDir}/${DATE}.sql ↓ [変更後] mysqldump --defaults-extra-file=/etc/mysqldump_backup.conf -F --lock-all-tables --add-drop-database --all-databases > ${BkupDir}/${DATE}.sql |
これで実行できるようになりましたとさ。めでたしめでたし