MySQL 数据表备份导出,恢复导入操作实践
因為經常跑腳本的關系, 每次跑完數據之后,相關的測試服數據庫表的數據都被跑亂了,重新跑腳本恢復回來速度也不快,所以嘗試在跑腳本之前直接備份該表,然后跑完數據之后恢復的方式,應該會方便一點。所以實踐一波。
?使用mysql dump命令將指定備份表 備份到我的/home目錄下
mysqldump -u xcf -h devdb -p xcf_mfarm ec_points_yearly_balance > ~/ec_points_yearly_balance_2016_12_22.sql然后去~/文件下看,已經能看到 一個.sql后綴的備份文件了。
現在我將整個表里的數據清空
truncate table ec_points_yearly_balance;?
好現在確認里面沒有數據了,我們來恢復該庫數據:
mysql -u xcf -p -h devdb xcf_mfarm < ~/ec_points_yearly_balance_2016_12_22.sql好去數據庫看看效果
mysql> select count(*) from ec_points_yearly_balance;
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
mysql> select * from ec_points_yearly_balance;
Empty set (0.00 sec)
mysql> select count(*) from ec_points_yearly_balance;
+----------+
| count(*) |
+----------+
| 1601671 |
+----------+
1 row in set (0.21 sec)
似乎效果還不錯。
當然在超過百萬級別的數據表導出的時候,我們還可以在導出的時候使用gzip壓縮的方法讓得到的文件稍微小幾倍。
mysqldump -hdevdb -u xcf -p xcf_mfarm ec_points_yearly_balance | gzip > ec_points_yearly_balance_2016.sql.gz可以看看壓縮的效果
-rw-rw-r-- 1 piperck piperck 221M Dec 22 15:53 ec_points_yearly_balance_2016_12_22.sql
-rw-rw-r-- 1 piperck piperck 13M Dec 22 16:28 ec_points_yearly_balance_2016.sql.gz
哇 這可差了快20倍!
那么還原也可以支持使用
gunzip < ec_points_yearly_balance_2016.sql.gz | mysql -hdevdb -uxcf -p xcf_mfarm當然,對于通過gzip壓縮還原來說,速度要比原文件慢一些,從管道來看也很明白要先進行解壓之后再導入還原數據庫,速度自然要慢一些。
?
---------------------------------------------------------------------------------------------------------
add:
備份全量數據庫:
mysqldump -uroot -p --events --ignore-table=mysql.event --all-databases > ~/all.sql另外補充一個點,如果是在5.6里面實用mysqldump出來的.sql數據,是沒有辦法再mysql5.5中恢復的。
?
?
Reference:
http://stackoverflow.com/questions/6682916/how-to-take-backup-of-a-single-table-in-a-mysql-database ?how-to-take-backup-of-a-single-table-in-a-mysql-database
http://blog.csdn.net/shellching/article/details/8129687 ?mysqldump導入導出數據庫總結
?
轉載于:https://www.cnblogs.com/piperck/p/6211018.html
總結
以上是生活随笔為你收集整理的MySQL 数据表备份导出,恢复导入操作实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无框车窗、电动尾翼!名爵MG7即将发布:
- 下一篇: 比亚迪出海再加一国 正式进入泰国市场