查看服务器binlog状态
show master status;
查看log-bin是否开启(可以查看binlog文件的位置)
SHOW VARIABLES LIKE '%log_bin%';
获取bin-log列表
SHOW BINARY LOGS;
显示第一个bin-log的信息
SHOW BINLOG EVENTS;
查询某个bin-log信息
SHOW BINLOG EVENTS IN 'bin-log.000011';
查看mysql服务器下面bin-log二进制文件方法:
mysqlbinlog /var/lib/mysql/BIN-log.000009
用bin-log恢复数据
mysqlbinlog mysql-bin.0000xx (--stop-POSITION=1255) | mysql -u用户名 (-p密码) (数据库名)
mysqlbinlog常见的选项有以下几个:
--start-datetime:从二进制日志中读取指定等于时间戳或者晚于本地计算机的时间
--stop-datetime:从二进制日志中读取指定小于时间戳或者等于本地计算机的时间 取值和上述一样
--start-position:从二进制日志中读取指定position 事件位置作为开始。
--stop-position:从二进制日志中读取指定position 事件位置作为事件截至
--------------------------------------------------------------------------------
Master:
配置my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=demo1,test,test1
重启
登录→创建用户并授权
create user repl;
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'10.10.89.15' IDENTIFIED BY 'libo510723';
(
GRANT ALL PRIVILEGES ON *.* TO 'repl'@'%' IDENTIFIED BY 'libo510723';
flush privileges;
)
重启
登录→查看主服务器binlog状态
show master stauts;
File:当前binlog的文件名,每重启一次mysql,就会生成一个新binlog文件
Position:当前binlog的指针位置
Slave:
配置my.cnf
[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index (中继日志的索引文件)
relay-log=slave-relay-bin (中继日志的文件前缀)
重启
登录→操作从服务
停止从服务
stop slave;
配置主从关联
change master to master_host='10.10.93.247', master_user='repl', master_password='libo510723', master_log_file='mysql-bin.000013', master_log_pos=154;
启动从服务
start slave;
查看从服务(G参数为纵向显示结果)
show slave status\G;