Linux上使用MySQL的Binary Log(实践篇)(图文详解)

1、安装mysql并启动mysql

(参照菜鸟教程:http://www.runoob.com/mysql/mysql-install.html)

# 安装MySQL
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
# 初始化MySQL
mysqld --initialize
# 启动MySQL
systemctl start mysqld
# 查看MySQL运行状态
systemctl status mysqld

在初始化时如果遇到问题mysql不支持root用户的问题,要新创一个用户(如:mysql_user)。

2、开启二进制日志并设置为ROW格式

修改/etc/my.cnf文件,在文件中的[mysqld]下加上:

server-id = 1 (在整个Mysql集群中保证唯一)
log-bin = binlog 
log-bin-index = binlog.index
binlog_format=ROW

建议row格式直接在这里设置,不要去在MySQL运行时“set global binlog_format=ROW”,因为这样你一重启MySQL就恢复成STATEMENT格式了。
这里可能会遇到权限问题,要切换回root用户才能修改。

3、重启mysql并查看是否成功开启

  • 重启mysql
    systemctl restart mysqld
  • 进入mysql后查看是否成功开启
    show variables like ‘log_bin’;

在这里插入图片描述

4、查看二进制日志文件

/var/lib/mysql文件夹内:二进制日志索引文件binlog.index、二进制日志文件binlog.000001
在这里插入图片描述

注意: MySQL运行时通过“set global XXX=XX”设置mysql的全局变量,你一重启mysql,那个全局变量就恢复默认值了。而且重启mysql后,若数据库有更改,则会开始继续记录二进制日志,这时候会根据现在设定的binlog格式记录,就算我们中途改成了其他格式,也没办法更改。所以建议把相关变量在/etc/my.cnf中提前设置好。

(正在学习中,未完待更。。。)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值