MYSQL数据库binlog日志开启记录 梦里梦外; 2022-10-07 05:52 132阅读 0赞 ### binlog打开设置 ### win10 1. 查看数据库binlog是否打开 show variables like 'log_bin'; show variables like 'log_bin%'; 1. 打开binlog日志 2.1 找到mysql的配置文件mysql.ini【在mysql的安装目录下】 2.2 在mysqld下配置如下 #开启binlog日志 server_id=1 log-bin=mysql-bin binlog-format=ROW binlog-format:主从同步的形式有三种 statement 会将对数据库操作的sql语句写入到binlog中 row 会将每一条数据的变化写入到binlog中。 mixed statement与row的混合。Mysql决定什么时候写statement格式的,什么时候写row格式的binlog 2.3 重启服务,再次查询即可 net stop mysql net start mysql show variables like 'log_bin%'; linux 1. 查看binlog状态 2. 找到配置文件并修改 1. 配置文件的位置 /etc/my.cnf 2. 添加配置 # 开启二进制日志 server-id=1 log-bin=/usr/local/mysql/data/mysql-bin docker 1. 配置映射到本地文件,本地文件配置如下 [mysqld] #binlog setting log-bin=/var/lib/mysql/mysql-bin server-id=123454 binlog-format=ROW 1. 重启mysql,查询发现binlog没有开启 docker restart mysql 2. 这个坑在网上找了好久才找到,记录下过程 首先,查看docker的关于my.cnf的日志发现有这么一句: mysqld: [Warning] World-writable config file '/etc/mysql/``my.cnf``' is ignored. 在网上查看是由于配置文件的权限导致的[https://blog.csdn.net/qilovehua/article/details/45508925][https_blog.csdn.net_qilovehua_article_details_45508925],详情可参考这篇博文 然后进入docker的mysql容器去查看,果然my.cnf的权限是777 将其改为644 chmod 644 my.cnf 再次重启mysql容器,查询看binlog成功打开 **但是,如果后期你对映射的配置文件有任何的修改,他会被再次映射到/etc/mysql/my.cnf这个文件并且权限重置为777,需要再次修改** [https_blog.csdn.net_qilovehua_article_details_45508925]: https://blog.csdn.net/qilovehua/article/details/45508925
还没有评论,来说两句吧...