数据库的备份,迁移 - Go语言中文社区

数据库的备份,迁移


08.14自我总结

数据库的备份

一数据库的备份

1.单库备份

mysqldump -uroot -p123 db1 > db1.sql  #库名
mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql #库名 表名

2.多库备份

mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql

3.备份所有库

mysqldump -uroot -p123 --all-databases > all.sql

二.备份恢复

1.退出数据库后

mysql -u -p < filename.sql;

2.在数据库内

  • 创建空数据库
  • 选择数据库
  • 然后使用source filename; 来进行还原

例如

use db1;
source /root/db1.sql

三.数据库迁移

务必保证在相同版本之间迁移
# mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目标IP -uroot -p456

四.备份高阶

1.常用参数

  • -B:表示的是指定多个库,增加了建库语句和use数据库的语句。
  • -compact:去掉注释,适合调试输出,不适合在生产环境使用。
  • -A: 表示的是本分所有的库。
  • -F:刷新binlog日志,方便进行增量的恢复。
  • –master-data:增加binlog日志文件名及其对应的位置点。
  • -x,–lock-all-tables :在备份的时候进行锁表,保持数据的一致性。
  • -d:只备份表的结构。
  • -t : 只备份数据库中的数据
  • –single-transaction 适合innodb数据库的备份。

2.-B备份

单库

备份test中的所有表
mysqldump -uroot -ppassword  -B test >/tmp/test.sql

多库

mysqldump -uroot -ppassword  -B 库1 库2  >/tmp/test.sql

3.使用gzip进行压缩数据备份

mysqldump -uroot -ppassword  -B 库1 库2 |gzip >/tmp/test.gz

4.备份时候切割binlog日志:(进行增量备份的时候可以用到)

-F 的作用就是备份数据库的时候,将binlog日志进行重新刷新。
mysqldump -uroot -ppassword  -t  -B -F test

5.备份的时候会记录指定文件的位置以及mysqlbinglog的文件名称

--master-data=1 的作用就是备份数据库的时候,将binlog日志进行重新刷新
mysqldump -uroot -ppassword  -t  -B -F --master-data test
版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/pythonywy/p/11351223.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-10-27 21:26:45
  • 阅读 ( 896 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢