一、备份工具
这里介绍几种常用的备份方式
<强> InnoDB 强>
二、cp备份与恢复
先查看数据,我们用测试库里的学生表实验
mysql>, select *,得到test.student; + - - - - - - - - - - - - + |,id ,, |, name | + - - - - - - - - - - - - + |,,,,1,|,a ,, | + - - - - - - - - - - - - + 1,row set 拷贝;(0.00,sec)
拷贝mysql数据到指定目录
mkdir /备份 cp -a /var/lib/mysql/*,,/备份
模拟丢失数据,删除mysql数据
rm -rf /var/lib/mysql/*
重启数据库,发现数据丢失(这里是百胜安装能直接重启数据库,如果是编译安装还需要初始化)
service mysqld 重启 mysql>, select *,得到test.student; ERROR 1146, (42 s02):, Table “test.student”,并't 存在 mysql>
把备份的数据还原到数据目录
cp -a /备份/*,,/var/lib/mysql/
登录数据库,发现数据已经还原回来了
mysql>, select *,得到test.student; + - - - - - - - - - - - - + |,id ,, |, name | + - - - - - - - - - - - - + |,,,,1,|,a ,, | + - - - - - - - - - - - - + 1,row set 拷贝;(0.00,sec) mysql>
三,,mysqldump备份与恢复
先查看数据,我们用测试库里的学生表实验
mysql>, select *,得到test.student; + - - - - - - - - - - - - + |,id ,, |, name | + - - - - - - - - - - - - + |,,,,1,|,a ,, | |,,,,2,|,b ,, | + - - - - - - - - - - - - + 2,rows set 拷贝;(0.00,sec)
修,改my . cnf中所做添加log_bin,重启数据库
vim 。/etc/my . cnf中所做 (mysqld) log_bin=mysql-bin service , mysqld ,重启
利用,Mysqldump备份数据,及参数说明
mysqldump , -uroot ,, -A ,——events ,,主数据=https://www.yisu.com/zixun/2——单一事务>/opt/all.sql ——全备,恢复时不需要创建库 ——事件备份时间调度器 ——主数据记录时刻点 ——单独的事务锁表备份
插入新的数据
mysql>, use ,测试; mysql>, insert into  student 价值(3 ' c '); Query 好吧,,1,row affected (0.00,秒) mysql>, select *,得到学生; + - - - - - - - - - - - - + |,id ,, |, name | + - - - - - - - - - - - - + |,,,,1,|,a ,, | |,,,,2,|,b ,, | |,,,,3,|,c ,, | + - - - - - - - - - - - - + 3,rows set 拷贝;(0.00,sec)
模拟数据丢失,误操作
mysql>, drop database 测试; Query 好吧,,1,row affected (0.01,秒) mysql>, show 数据库; +--------------------+ |,Database ,,,,,,,,, | +--------------------+ | |,information_schema  |,mysql ,,,,,,,,,,,, | +--------------------+ 2,rows set 拷贝;(0.00,sec)
开始恢复,利用,mysqldump的全备加上增量备份
1,关闭日志记录
set , global , sql_log_bin=0;
2,恢复全备,检查数据情况
mysql -uroot & lt;/opt/all.sql mysql>, select *,得到test.student; + - - - - - - - - - - - - + |,id ,, |, name | + - - - - - - - - - - - - + |,,,,1,|,a ,, | |,,,,2,|,b ,, | + - - - - - - - - - - - - + 2,rows set 拷贝;(0.00,sec)
3,利用时刻点恢复增量恢复,查看/opt/ql的开始时刻点,在文件里有类似如下字符串
——,CHANGE MASTER 用MASTER_LOG_FILE=癿ysql-bin.000018”, MASTER_LOG_POS=705
在看误操作的时刻点
mysqlbinlog ,/var/lib/mysql/mysql-bin.000018 # at 869 # 161102,18:36:09 server  id 1,, end_log_pos 896年,Xid =4088 提交/* ! */; # at 896 # 161102,18:36:25 server  id 1,, end_log_pos 977年,查询thread_id=41 exec_time=0 error_code=0 SET 时间戳=1478082985/* ! */; null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null多种方法备份Mysql数据库