Mysql備份與還原資料庫

原來 mysql 的備份還有還原這麼簡單 @[email protected]

備份:

— 備份某個資料庫

mysqldump -u root -p db_name > backup.sql;

— 備份所有資料庫

mysqldump -u root -p --all-databases > backup.sql;

附註:備所有資料庫,遇到 database 版本不同時,會有問題,例如 mysql 5.6 到 5.7 會造成系統預設的欄位長度不符的錯誤。

 

備份用的 shell script:

#!/bin/sh 
pw='your-password'
mysqldump --all-databases --add-drop-table -h 127.0.0.1 -u root -p$pw > your-backup-file.sql
bzip2 -f your-backup-file.sql

還原:

mysql -u root -p < backup.sql

如果出現 no database selected 是因為 backup.sql 裡沒有包括了 create database 的指令,只有去 drop table. 所以要在一還原的地方指定好要被貼回來的 database name:

mysql DATABASE_NAME -u root -p < backup.sql

 

進階一點的備份:

MySQL 自動備份 Shell Script
http://stackoverflow.max-everyday.com/2018/01/mysql-shell-script/

 

相關文章

寫留言

你的電子郵件位址並不會被公開。 必要欄位標記為 *