时间:2021-07-01 10:21:17 帮助过:35人阅读
二进制文件以及pos节点如下:
-- CHANGE MASTER TO MASTER_LOG_FILE=‘master-bin.000060‘, MASTER_LOG_POS=120;
使用mysqlbiglog查看二进制文件,删除数据库zxl的at位置是778
[root@zxl-nginx data]# mysqlbinlog master-bin.000060 # at 778 #160120 14:25:42 server id 1 end_log_pos 867 CRC32 0x014503a4 Querythread_id=44exec_time=0error_code=0 SET TIMESTAMP=1453271142/*!*/; drop database zxl
备份二进制日志位置
[root@zxl-nginx ~]# mysqlbinlog --start-position=120 --stop-position=778 /usr/local/mysql/data/master-bin.000060 > /tmp/big_log.sql
恢复数据库
[root@zxl-nginx ~]# mysql -uroot -p < /tmp/zxl_users.sql Enter password:
查看恢复的数据库
关闭二进制日志
mysql> set session sql_log_bin=0; Query OK, 0 rows affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | | zxl | +--------------------+ 5 rows in set (0.00 sec)
查看恢复的表 mysql> use zxl; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +---------------+ | Tables_in_zxl | +---------------+ | users | +---------------+ 1 row in set (0.00 sec) mysql> select * from users; +----+--------+ | id | name | +----+--------+ | 1 | 小明 | | 2 | 小虎 | | 3 | 小花 | | 4 | 小花 | | 5 | 小花 | | 6 | 小虎 | +----+--------+ 6 rows in set (0.00 sec) 注:后增加的数据没有恢复过来
恢复二进制备份的big-log文件
[root@zxl-nginx ~]# mysql -uroot -p < /tmp/big_log.sql Enter password:
再次查看users表
mysql> select * from users; +----+--------+ | id | name | +----+--------+ | 1 | 小明 | | 2 | 小虎 | | 3 | 小花 | | 4 | 小花 | | 5 | 小花 | | 6 | 小虎 | | 7 | bob | | 8 | tom | | 9 | lili | +----+--------+ 9 rows in set (0.00 sec)
开启big-log
mysql> set session sql_log_bin=1; Query OK, 0 rows affected (0.00 sec)
注:关闭不关闭二进制只有不进行任何操作即可不关闭,原因你懂的。
注:在实际恢复时最好编辑my.cnf配置文件,添加如下项:
skip-networking //跳过网络功能来恢复数据
本文出自 “村里的男孩” 博客,谢绝转载!
mysqldump和big-log备份以及恢复示例
标签:databases 数据库 二进制 mysql 记录