目 录CONTENT

文章目录

MySQL备份

乔克
2023-02-28 / 0 评论 / 0 点赞 / 1,066 阅读 / 1,473 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-02-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告 广告
  • 建议使用 --single-transaction 参数来获得一致性备份,减少锁表。
  • 按需求来导出,只要自己想要的数据,尽量减少导出文件大小。
  • 若想用于搭建从库,建议使用 --master-data = 2 参数记录主库 binlog 信息。
  • 若想备份存储过程、自定义函数及事件,请加 -R -E 参数,此二者默认不开启。
  • 不了解的参数不要随意加,按默认即可。
# 备份全部数据库(包含存储过程、自定义函数及事件) 
mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases > /tmp/all_database.sql 
 
# 要求记录 binlog 位点信息 可用于搭建从库 
mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases --master-data=2 > /tmp/all_database.sql 
 
# 备份指定数据库 
mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 > /tmp/db1.sql 
mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 db2 > /tmp/db1_db2.sql 
 
# 备份部分表 
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 > /tmp/tb1.sql 
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 tb2 tb3 > /tmp/tb.sql 
 
# 导出某个表,数据以单行insert显示 
mysqldump -uroot -pxxxxxx --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql 
 
# 导出单表的部分数据 
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where=" create_time >= '2021-06-01 00:00:00' " > /tmp/tb1.sql 
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where='id < 10' > /tmp/tb1.sql 
 
# 排除某些表导出 
mysqldump -uroot -pxxxxxx --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql 
 
# 只导出结构或只导出数据 
mysqldump -uroot -pxxxxxx db1 --no-data > /tmp/db1_jiegou.sql 
mysqldump -uroot -pxxxxxx db1 --no-create-info > /tmp/db1_data.sql 
 
# 只导出某个库的存储过程及自定义函数 
mysqldump -uroot -pxxxxxx -d -t -R db1 > /tmp/db1_routine.sql 
 
# 远程导出 即MySQL服务端不在本地 
mysqldump -uroot -pxxxxxx -hxxx.xxx.xx -P3306 --single-transaction --databases db1 > /tmp/db1.sql 
0

评论区