1.修改配置文件
vim /etc/my.cnf
2.配置文件添加 log_bin=/data/mysql/mysql-bin
#mysql服务端标签,影响的是mysql的启动,还可以用[mysql_safe]
[mysqld]
#mysql服务启动时的用户
user=mysql
#软件目录的存放位置
basedir=/usr/local/mysql
#数据目录的存放位置
datadir=/data/mysql
#服务启动时生成的sock文件存放位置,本地客户端连接使用
socket=/tmp/mysql.sock
#错误日志的存放位置
log-error=/data/mysql/mysql.err
#服务的ID号,主要实在mysql主从复制时使用
server_id=6
#mysql服务的端口号
port=3306
#二进制文件存放位置
log_bin=/data/mysql/mysql-bin
#编码
character_set_server=utf8mb4
#binlog保存周期15天
expire_logs_days=15
#mysql 客户端标签
[mysql]
#客户端连接的sock文件的位置
socket=/tmp/mysql.sock
#备注:设置后重启MySQL 服务。\u 表示用户名, \h 表示主机名,\d 表示当前数据库。
prompt="\\u@\\h:\\d>"
3.查看binlog相关参数
#注意:MySQL默认是没有开启二进制日志的。
#基础参数查看:
#开关:
select @@log_bin;
#日志路径及名字
select @@log_bin_basename;
#服务ID号:
select @@server_id;
#二进制日志格式:
select @@binlog_format;
#双一标准之二:
select @@sync_binlog;;
# 查看日志的开启情况
show variables like '%log_bin%';
#查看一共多少个binlog
show BINARY logs;
#查看mysql正在使用的日志文件
show master status;
#event查看
-- Log_name:binlog文件名
-- Pos:开始的position
-- Event_type:事件类型
-- Format_desc:格式描述,每一个日志文件的第一个事件,多用户没有意义,MySQL识别binlog必要信息
-- Server_id:mysql服务号标识
-- End_log_pos:事件的结束位置号
-- Info:事件内容
show binlog events in 'mysql-bin.000001';
-- 查看binglog几天删除一次默认为0不删除 保留一个全备周期;
show variables like '%expire%';
-- 刷新会生成新的 binlog
flush logs;
-- 查看bingmax_binlog_size 最大为18446744073709547520
show global variables like '%binlog_cache%';
4截取恢复 binlog
-- 截取数据 在binglog路径下
mysqlbinlog --start-position=123 --stop-position=154 /data/mysql/mysql-bin.000001 > /tmp/bin.sql;
mysql-u root -p
#恢复时 关闭二进制日志
[(none)]>set sql_Log_bin=0;
[(none)]>source /tmp/bin.sql