mysql之数据备份与还原
备份:
#1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。 #3. 导出表: 将表导入到文本文件中。
# 通过shell命令查询所有库并打包备份# mysql -uroot -p‘root‘ -e "show databases;"|grep -Evi "database|info|perfor"|sed -r ‘s#^([a-z].*$)#mysqldump -uroot -p‘root‘ --events -B \1|gzip > /opt/bak.sql.gz#g‘|bash
注意事项: 1. 完全恢复到一个干净的环境(例如新的数据库或删除原有的数据库) 2. 恢复期间所有SQL语句不应该记录到binlog中mysqldump关键参数说明:mysqldump --help1、 -B 指定多个库,增加建库语句和use语句2、 --compact 去掉注释,适合调试输出,生产不用。3、 -A 备份所有库4、 -F 刷新binlog日志5、 --master-data 增加binlog日志文件名及对应的位置点。6、 -x ,--lock-all-tables 锁表7、 -l ,--lock-tables 8、 -d 只备份表结构9、 -t 只备份数据10、 --single-transaction 适合innodb事务数据库备份 innodb表在备份是,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:repeatable read,以确保本次会话(dump)时,不会看到其他会话已经提交了的数据。
myisam备份命令:mysqldump -uroot -proot -A -B --master-data=1 --events -x|gzip > /opt/bak.sql.gz
innodb备份命令:推荐使用mysqldump -uroot -proot -A -B --master-data=1 --events --single-transaction|gzip > /opt/bak.sql.gz

恢复:
#需进入mysqlmysql> source /opt/bak.sql
相关推荐
  景泽元的编程    2020-01-31  
   胡道成    2020-08-31  
   juliashine    2020-07-30  
   重善奉行    2020-07-27  
   TMD咯MySQL    2020-06-11  
   hevenue    2020-06-08  
   pandaphinex    2020-05-29  
   heniancheng    2020-05-26  
   lyqcsdn    2020-04-30  
   meiseeny    2020-04-29  
   大数据实战派    2020-04-21  
   fcds00    2019-10-28  
   yuanyueliang    2019-10-24  
   luckykapok    2019-10-23  
   zhanbuquan    2019-09-07  
   Java学习    2019-05-20  
   snowfoxmonitor    2013-10-15  
   蛋蛋哥    2012-12-19  
   云端轻躺    2012-04-23