Redhat 6.5 X64 Mysql 5.7 执行备份:
- [root@master 3306]# mysqldump -u root -p --master-data=2 --single-transaction -R --triggers -A> all.sql
- Enter password:
- mysqldump: Error: Binlogging on server not active
解决方案:
sudo vi /etc/my.cnf
在 [mysqld] 标签下添加:
- log-bin=mysql-bin
- server-id=1
保存退出后, 重启服务:
systemctl restart mysqld
搞定. 注意如果有其它错误, 仔细看看
/var/log/mysqld.log 里面的错误信息以更快的找到问题.
参考以下内容.
1) 首先, 为什么要开启 binlog 日志和慢查询日志呢?
binlog 日志会记录下数据库的所以增删改操作, 当不小心删除, 清空数据, 或数据库系统出错, 这时候就可以使用 binlog 日志来还原数据库, 简单来说就是一个记录备份的东西
慢查询日志 slow_query_log, 这个东西是用来记录查询比较慢的 sql 语句, 通过查询日志来查找哪条 sql 语句比较慢, 然后就可以进行数据库或 sql 语句或程序上的优化, 简单来说就是一个优化辅助工具
PS:binlog 日志应该一直开着 (因为你不知道数据库哪一天会崩掉, 或者哪天会误删一点东西), 慢查询日志平时可以不开, 当觉得网站运行慢, 需要优化的话, 可以打开慢查询来做一个辅助
2) 开启 binlog 日志的方法
在 my.cnf 的 [mysqld] 下添加一个 binlog 配置就可以了 (注意一定要加在 [mysqld] 下, 如果加在 [mysqld_safe] 或其他位置下是不行的), 配置如下:
- log-bin=mysql-bin
- server-id=1
PS: 这上面的 mysql-bin 其实就是 binlog 日志文件的前缀来着, 像上面设置的是 mysql-bin(你可以改成 mysql_bin 或 binlog 或其他什么都可以), 它就会在 / var/lib/mysql/(默认位置) 生成 mysql-bin.000001,mysql-bin.000002,mysql-bin.000003...... 等日志文件
3) 开启慢查询日志
修改配置方法一 (临时, 重启 mysqld 后自动恢复):
- set global log_slow_queries=ON;
- set global slow_launch_time=10;
修改配置方法二 (永久):
在 my.cnf 的 [mysqld] 下添加一个 binlog 配置就可以了 (注意一定要加在 [mysqld] 下, 如果加在 [mysqld_safe] 或其他位置下是不行的), 配置如下:
log-slow-queries=/var/log/mysqld-slow.loglong_query_time=2
第一个配置是日志文件位置, 第二个配置是慢查询的时间配置 (秒), 执行时间超过这个时间的查询语句会被记录下来
来源: http://www.bubuko.com/infodetail-2568394.html