1. 程式人生 > >Mysql備份與還原資料庫

Mysql備份與還原資料庫

備份:

— 備份某個資料庫

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

進階一點的備份: