docker方便使用的工具簡之資料庫備份還原
阿新 • • 發佈:2018-12-07
MySQL資料備份percona-xtrabackup工具
備份
#docker run --rm -v /back:/back -v /var/lib/mysql:/var/lib/mysql:ro -it yfix/percona-xtrabackup bash
使用innobackupex不能使用遠端進備份需要吧目錄給掛載到容器中去並且吧備份好的資料拿到自己準備好的目錄中去
執行上面命令後進入到容器中去接下來就是對資料進行備份的步驟了
#innobackupex --password=123456 --user=root --host=172.17.0.1 --no-timestamp /back
這裡備份的時候後記得寫上備份的主機ip並且要對該主機ip授權以保證能連結到備份到資料
181204 06:28:04 completed OK!
備份完成
還原備份
#innobackupex --default-file=/back/backup-my.cnf --apply-log /back/
181204 06:32:09 completed OK!
還原成功
修改許可權
遷移檔案到預設目錄或將mysql 的預設目錄指向還原的目錄就正常可以啟動了
使用docker 啟動mysql 服務
docker run --rm -e MYSQL_ROOT_PASSWORD="123456" -v /back:/var/lib/mysql mysql mysqld --lower_case_table_names=1 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
這樣啟動資料庫,環境變數傳進去的密碼是無效的因為啟動的時候是讀取本地的
完成