MySQL 備份與恢復 常用命令
1、MySQL 備份
# mysqldump -uroot -pqweasd -S /data/3307/mysql.sock db8 > /backup/3307-db8.sql
# mysqldump -uroot -pqweasd -S /data/3307/mysql.sock db8 > /backup/3307-db8_$(date +%F).sql
# mysqldump -uroot -pqweasd -S /data/3307/mysql.sock db8|bzip2 > /backup/3307-db8_$(date +%F).sql.bz2
# mysqldump -uroot -pqweasd -S /data/3307/mysql.sock db8
# mysqldump -uroot -pqweasd --default-character-set=utf8 -S /data/3307/mysql.sock db8 > /backup/3307-db8-utf8_$(date +%F).sql
# mysqldump -uroot -pqweasd --default-character-set=utf8 -S /data/3307/mysql.sock db8|bzip2 > /backup/3307-db8-utf8_$(date +%F).sql.bz2
備份表、多個表
# mysqldump -uroot -pqweasd --default-character-set=utf8 -S /data/3307/mysql.sock mysql user > /backup/mysql_user-utf8_$(date +%F).sql
# mysqldump -uroot -pqweasd --default-character-set=utf8 -S /data/3307/mysql.sock mysql user host > /backup/mysql_user_host-utf8_$(date +%F).sql
-B 恢復時 會創建數據庫並進入創建的數據庫,沒有-B時如果要恢復的庫被刪除就無法恢復需要重新創建被恢復的庫
# mysqldump -uroot -pqweasd --default-character-set=utf8 -S /data/3307/mysql.sock -B db8 > /backup/3307-db8-B-utf8_$(date +%F).sql
-B 備份多個庫 恢復時會創建數據庫並進入創建的數據庫
# mysql -uroot -pqweasd -S /data/3307/mysql.sock -B db8 db9|bzip2 > /backup/3307-db8-db9-B_$(date +%F).sql.bz2
# mysql -uroot -pqweasd --default-character-set=utf8 -S /data/3307/mysql.sock -B db8 db9|bzip2 > /backup/3307-db8-db9-B-utf8_$(date +%F).sql.bz2
-d 備份數據庫結構(不包含數據)
# mysqldump -uroot -pqweasd --default-character-set=utf8 -S /data/3307/mysql.sock -d db8 > /backup/db8-d-utf8_$(date +%F).sql
--compact 使備份是輸出內容更簡潔、讓備份結果少一些默認選項和各種註釋
# mysqldump -uroot -pqweasd --compact -S /data/3307/mysql.sock db8 > /backup/3307-db8.sql
# mysqldump -uroot -pqweasd --default-character-set=utf8 --compact -S /data/3307/mysql.sock -d db8 > /backup/db8-d-utf8_$(date +%F).sql
2、MySQL 恢復
mysql> source /backup/3307-db8-B-utf8_2018-05-12.sql;
sql 文件裏沒有 use db 字樣時,在導入時就要指定數據庫名了
# mysql -uroot -pqweasd -S /data/3307/mysql.sock db8 < /backup/3307-db8_2018-05-12.sql
MySQL 備份與恢復 常用命令