MYSQL备份+增量恢复+引擎 -学习笔记

一. MySQL备份

-------------------------------------

1.备份wmj库:

  mysqldump -uroot -pRoot123 -S /data/3306/mysql.sock -B wmj > /tmp/wmj.sql

2.压缩备份wmj和test库:

  mysqldump -uroot -pRoot123 -S /data/3306/mysql.sock -B wmj test |gzip >/tmp/mysql.gz

3.备份wmj库的student表:

 mysqldump -uroot -pRoot123 -S /data/3306/mysql.sock wmj student > /tmp/student.sql

4.备份wmj库的student表结构:

 mysqldump -uroot -pRoot123 -S /data/3306/mysql.sock -d wmj student > /tmp/student_desc.sql

5.备份wmj库的student表数据:

 mysqldump -uroot -pRoot123 -S /data/3306/mysql.sock -d wmj student > /tmp/student.sql

6.备份wmj库时切割bin_log和锁表:

 mysqldump -uroot -pRoot123 -S /data/3306/mysql.sock -B wmj -F -x > /tmp/wmj.sql


7.推荐使用生成环境备份数据库语句。(innodb引擎才能用):

 mysqldump -uroot -pRoot123 -A -B -F --master-data=2 --single-transaction >/tmp/mysql.bak

 --single-transaction : 不锁表隔离参数,

 --master-data=2:  以备注形式记录bin-log的位置。

8.生产环境增量备份步骤

 一。选择一台从库,不对外提供业务,专门用了做备份。此从库开启bin_log功能,做增量备份。

 二。备份的时候需要停止sql线程,在用mysqldump备份:

  stop slave sql_thread;                 #停止sql线程,不会停止同步IO进程

 三。然后将备份文件和bin_log文件远程保存起来。

    下面命令可以用来远程备份bin_log:

  mysqlbinlog --read-from-remote-server --raw --host=172.16.1.214 --port=3306 --user=rep --password=Root1234 --stop-never mysql-bin.000001


9.导入备份数据:

  mysql> source /tmp/wmj.sql

  mysql -uroot -pRoot123 </tmp/wmj.sql

10.非交换执行mysql命令:

  mysql -uroot -pRoot123 -S /data/3306/mysql.sock -e "use wmj;select * from student;"

11.查看mysql的运行状态命令:

  mysql> show status;

  mysql> show global status;

12.删除mysql的bin_log日志:

  mysql> reset master;

PS:Xtrabackup可以用于大于50G数据库备份。


二. MySQL增量恢复

-------------------------------------

1.只查看bin_log中wmj库的操作日志(要使用了“use wmj;”才行):

 mysqlbinlog -d wmj /data/3306/mysql-bin.000024 | egrep -v "^#|/"

2.按照位置点查看bin_log日志:

 mysqlbinlog --start-position=3903 --stop-position=4519 /data/3306/mysql-bin.000024

 --start-datetime='2016-12-27 11:20:00'  :开始时间参数

3.增量恢复的条件:

 至少存在一份全备和到出问题时刻的所有增量bin_log.

4.生产环境错误drop后,增量恢复流程

   事故出现后第一时间刷新bin_log: "mysqladmin -uroot -pRoot123 flush-log"

  a.创建新文件夹,准备全量备份和bin_log文件。

  b.转换bin_log为恢复文件,并删除里面的错误语句:

     mysqlbinlog mysql-bin.000004 > /bak/bin.sql

     vim /bak/bin.sql

  c.停止外网连接数据库.

  d.先导入全量备份,在导入bin_log备份:

      mysql -uroot -pRoot123 -S /data/3306/mysql.sock </tmp/mysql_bak.sql

      mysql -uroot -pRoot123 -S /data/3306/mysql.sock </tmp/bin.sql

   ps: 案例教程 http://oldboy.blog.51cto.com/2561410/1431161/


三. MySQL的引擎

-------------------------------------

1.Myisam引擎特点(生产不建议使用):

  a. 不支持事务(银行不行)

  b.修改会锁表

  c.读的性能高,写慢

  d.对硬件要求低

2.Innodb引擎特点:

  a.支持事务

  b.行级锁定

  c.支持分区和表空间

  d.支持外键


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值