1)首先,为何要开启binlog日志和慢查询日志呢?mysql
binlog日志会记录下数据库的因此增删改操做,当不当心删除、清空数据,或数据库系统出错,这时候就可使用binlog日志来还原数据库,简单来讲就是一个记录备份的东西sql
慢查询日志 slow_query_log,这个东西是用来记录查询比较慢的sql语句,经过查询日志来查找哪条sql语句比较慢,而后就能够进行数据库或sql语句或程序上的优化,简单来讲就是一个优化辅助工具数据库
PS:binlog日志应该一直开着(由于你不知道数据库哪一天会崩掉,或者哪天会误删一点东西),慢查询日志平时能够不开,当以为网站运行慢,须要优化的话,能够打开慢查询来作一个辅助工具
2)开启binlog日志的方法优化
在my.cnf的[mysqld]下添加一个binlog配置就能够了(注意必定要加在[mysqld]下,若是加在[mysqld_safe]或其余位置下是不行的),配置以下:网站
log-bin=mysql-bin
PS:这上面的mysql-bin其实就是binlog日志文件的前缀来着,像上面设置的是mysql-bin(你能够改为mysql_bin或binlog或其余什么均可以),它就会在/var/lib/mysql/(默认位置)生成 mysql-bin.000001,mysql-bin.000002,mysql-bin.000003......等日志文件spa
3)开启慢查询日志日志
修改配置方法一(临时,重启mysqld后自动恢复):code
set global log_slow_queries=ON; set global slow_launch_time=10;
修改配置方法二(永久):blog
在my.cnf的[mysqld]下添加一个binlog配置就能够了(注意必定要加在[mysqld]下,若是加在[mysqld_safe]或其余位置下是不行的),配置以下:
log-slow-queries=/var/log/mysqld-slow.log long_query_time=2
第一个配置是日志文件位置,第二个配置是慢查询的时间配置(秒),执行时间超过这个时间的查询语句会被记录下来