数据库的备份,迁移

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
posted @ 2019-08-14 12:31  小小咸鱼YwY  阅读(1303)  评论(0编辑  收藏  举报