查看数据存储位置

在MySQL客户端执行如下命令查看MySQL的数据存放位置

mysql> show global variables like "%datadir%";

查看MySQL配置文件

mysql> mysql --help | grep 'my.cnf'
/etc/my.cnf   ~/.my.cnf 
#默认安装位置大多数位于: /etc/my.cnf.d 目录下

登录MySQL,查看binlog日志的状态

登录MySQL后,输入

#查看到binlog日志为OFF关闭状态
show variables like '%log_bin%';

开启MySQL binlog日志

binlog日志,即binary log,是二进制日志文件。它有两个作用,一是增量备份,即只备份新增的内容;二是用于主从复制等,即主节点维护了一个binlog日志文件,从节点从binlog中同步数据。
这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主主复制和主从复制等等。对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是非常重要的。

在my.inf主配置文件中直接添加三行

log_bin=ON
log_bin_basename=/var/lib/mysql/mysql-bin
log_bin_index=/var/lib/mysql/mysql-bin.index

第一个参数是打开binlog日志
第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件
第三个参数指定的是binlog文件的索引文件,这个文件管理了所有的binlog文件的目录

当然也有一种简单的配置,一个参数就可以搞定

#指定binlog日志文件的名字为mysql-bin,以及其存储路径
log-bin=/var/lib/mysql/mysql-bin

这一个参数的作用和上面三个的作用是相同的,mysql会根据这个配置自动设置log_bin为on状态,自动设置log_bin_index文件为你指定的文件名后跟.index
这些配置完毕之后对于5.7以下版本应该是可以了,但是我们这个时候用的如果是5.7及以上版本的话,重启mysql服务会报错。这个时候我们必须还要指定一个参数

server-id=1

server-id表示单个结点的id,这里由于只有一个结点,所以可以把id随机指定为一个数,这里将id设置成1。若集群中有多个结点,则id不能相同

标签: MySql,binlog,datadir

添加新评论