最近想用mysql的DML日志进行数据的处理操作。于是就网上搜索着手进行配置。大部分的文章都提到my.ini这个文件,于是就去找寻找了半天没发现这个文件,只发现一个my-default.ini。于是乎又开始百度起来。按照博文说的,复制一个改名为my.ini,然后复制到MySQL跟目录下,启动直接报1067的错。继续百度乱七八糟的结果挺多,有说绿色免安装版本的没有my.ini这个文件等等。倒是有一篇文章提到的5.6版本后,不需要在将配置文件修改为my.ini .直接用my-default.ini这个文件就行。 这位博友的文章连接:Windows下 免安装版MySQL配置
也是从这个方向最后捣鼓成功的。下面就说说我的方法吧。
mysql版本:5.6.24.
1.将my-default.ini文件的log文件路径等进行配置直接贴图:
大致也就是这些了
log-error="d:/develop/log/mysql/mysql_log_err.txt"
#log="d:/develop/log/mysql/mysql_log"
log-bin="d:/develop/log/mysql/mysql_log_bin"
max_binlog_size = 128m
binlog_format=mixed
expire_logs_days = 3
第二步:配置mysql系统环境(不配做这个也可以,执行命令的时候就需要cd到bin目录下才可以。)
可以参考此博文:配置mysql系统环境 这篇博文的第五步是关键。建议如果你的mysql是已经使用过一段时间,首先执行 mysqld remove.
然后在执行该命令 :mysqld --install MySQL --defaults-file="D:\mysql-5.5.42-win32\my.ini" defaults-file后面跟的就是你mysql的地址。这样就相当于重新注册了下注册表。
执行成功后,我们进行重启mysql的操作,命令:net start mysql . (停止服务:net stop mysql)
顺利的话,启动成功。说说我遇到的问题:dos命令提示: 找不到文件。再次百度博文说是因为注册表里面的路径文件。于是:
开始-运行-regedit ,定位到HKEY_LOCAL_MACHINE --SYSTEM--services 然后找到MySQL,如图:
我看了下自动注册的位置是在C盘于是我改成了我自己的mysql路径。
大家可以参照这种格式:D:\develop\mysql-5.6.24-winx64\bin\mysqld --defaults-file=D:\develop\mysql-5.6.24-winx64\my-default.ini MySQL。确定-退出注册表。再次执行mysql启动命令。一般来说基本都可以成功。如果失败报错1067.请查询系统日志(运行-事件查看器)。或者在你自己定义的log_err路径下看看有没有错误日志。根据错误日志修改你的配置文件。我便是这样一步一步搞定的。
正常启动后,我们在dos命令下进入到mysql 的bin目录下(配置了系统环境变量,不行要移动到该目录哈)。执行mysql命令:show global variables like 'log_%'便可看到那些日志开启了:
图片可以看到配置的3个日志都已经是开启状态。
如果要想查看bin_log日志。需要移动到日志的目录下,执行命令:mysqlbinlog mysql_log_bin.000001:
可以看到我们今天测试时执行的删除语句,相信大家对这个日志文件都应很感兴趣吧。做数据同步的时候这个很有用。特别是将mysql的数据同步到Elasticsearch。现在网上提供的很多工具都只能执行新增操作和更新同步。删除同步实现起来很困了。但是有了这个日志文件。就不在是问题了。只要我们能够提取出里面的 DEL, UPDATE,INSERT语句。