备份的主要目的是灾难恢复,备份还可以测试应用、回滚数据修改、查询历史数据、审计等。而备份、恢复中,日志起到了很重要的作用
/usr/local/mysql/data/etc/my.cnf编辑配置文件
vim /etc/my.cnf
[mysqld] //添加
log-error=/usr/local/mysql/data/mysql_error.log #指定日志的保存位置和文件名
[mysqld] //添加
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
[mysqld] //添加
log-bin=mysql-bin
或
log_bin=mysql-bin
[mysqld] //添加
s1ow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5 #设置超过5秒执行的语句被记录,缺省时为10秒
上述要开启的日志配置
systemctl restart mysqld##可复制
log-error=/usr/local/mysql/data/mysql_error.log
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
log-bin=mysql-bin
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5

[root@nginx1 ~]# cd /usr/local/mysql/data/
[root@nginx1 data]# ll

[root@nginx1 ~]# mysql -uroot -p123123
mysql> show variables like 'general%';
+------------------+-----------------------------------------+
| Variable_name | Value |
+------------------+-----------------------------------------+
| general_log | ON ##已开启 |
| general_log_file | /usr/local/mysql/data/mysql_general.log |
+------------------+-----------------------------------------+
2 rows in set (0.00 sec)
mysql> show variables like 'log_bin%';
+---------------------------------+---------------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------------+
| log_bin | ON ##已开启 |
| log_bin_basename | /usr/local/mysql/data/mysql-bin |
| log_bin_index | /usr/local/mysql/data/mysql-bin.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
+---------------------------------+---------------------------------------+
5 rows in set (0.01 sec)

mysql> show variables like '%slow%';
+---------------------------+--------------------------------------------+
| Variable_name | Value |
+---------------------------+--------------------------------------------+
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | ON ##已开启 |
| slow_query_log_file | /usr/local/mysql/data/mysql_slow_query.log |
+---------------------------+--------------------------------------------+
5 rows in set (0.00 sec)

mysql> show variables like 'long_query_time';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 5.000000 |
+-----------------+----------+
1 row in set (0.00 sec)
mysql> set global slow_query_log=ON;
小知识
PS: variables 表示变量 like 表示模糊查询
#xxx(字段)
xxx%: 以xxx为开头的字段
%XXX :以xxx为结尾的字段
%XXX%:只要出现xxx字段的都会显示出来
XXX:精准查询
索引文件:记录更新语句
索引文件刷新方式:
1、重启MySQL的时候会更新索引文件,用于记录新的更新语句
2、刷新二进制日志
mysql-bin.index:
二进制日志文件的索引