温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL bin-log

发布时间:2020-06-11 00:52:26 来源:网络 阅读:451 作者:dfwasds 栏目:MySQL数据库

1.bin-log 是什么?
bin-log是MySQL非常重要的日志。它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。
它的主要用途
一.数据恢复
二.主从复制

2.开启bin-log
vi /etc/mysql/my.cnf
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M

3.验证是否开启
mysql>show variables like "%log%";
查看log_bin 是否为ON
目录查看
/var/log/mysql> ls

4.与bin-log有关的命令
命令 解释
flush logs 重新起一个bin-log日志
show master status 查看最新的bin-log日志
reset master 清空所有的bin-log日志

5.查看bin-log日志
/var/log/mysql> mysqlbinlog mysql-bin.000251
MySQL bin-log

6.关于bin-log的数据恢复的实验一@创建表
br/>一@创建表
mysql> create table t2(a1 int(10) not null default 0)engine=innodb default charset=utf8;二@插入数据
br/>二@插入数据
br/>三@备份数据
zc@ubuntu:~$ ls -la /tmp/t2_bak.sql四@备份后添加了三条数据
br/>四@备份后添加了三条数据
mysql> insert into t2 values (4);
mysql> insert into t2 values (5);五@表被删除
br/>五@表被删除
六@用已备份的 t2_bak.sql 来恢复数据 (前段部分)
zc@ubuntu:~$ mysql -uroot -p**** test < /tmp/t2_bak.sql
mysql> show tables;七@备份之后的三条数据用bin-log恢复,找出位置(后段部分)
br/>七@备份之后的三条数据用bin-log恢复,找出位置(后段部分)

八@开始恢复
zc@ubuntu:/var/log/mysql$ mysqlbinlog --stop-position="653" mysql-bin.000257 | mysql -uroot -p**** test九@验证数据
br/>九@验证数据

7.附录A

  1. --stop-position="100"
  2. --start-position="50"
  3. --stop-date="YYYY-mm-dd HH:ii:ss"
  4. --start-date="YYYY-mm-dd HH:ii:ss"

8.附录B
Mysql导出表结构及表数据 mysqldump用法
命令行下具体用法如下: mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名;

1、导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
mysqldump -uroot -pdbpasswd -d dbname >db.sql;

2、导出數據库為dbname某张表(test)结构
mysqldump -uroot -pdbpasswd -d dbname test>db.sql;

3、导出數據库為dbname所有表结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd  dbname >db.sql;

4、导出數據库為dbname某张表(test)结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname test>db.sql;
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI