mysql的服务日志与备份命令
mysqlbinlog:
用于解析binlog日志。在data目录下面,mysql.index是mysqlbinlog的索引文件。binlog的作用是记录mysql内部的增删改。不对select做记录。
选项:
1.-d dbname:用于拆库,把指定库的二进制日志分割出来
2.--start-position;--stop-position mysqldump mysql-bin.000006 --start-position=486 --stop-position=1156 > test.sql
master-data=
当为2时,会将master_log_pos那行注释掉,当为1时,会将master_log_pos那行不注释。
等于1的作用,当做主从同步的时候,使用--master-data=1,master_log_pos那行不注释,将全备倒入到从库执行时,master_log_pos会告诉应该从主库的什么地方开始进行恢复。
mysql数据库中的日志文件
错误日志(error log):记录mysql服务进程mysqld在启动和关闭或运行过程中遇到的错误日志
查询日志:
普通查询日志(query log):记录客户端连接信息和执行sql语句信息
慢查询日志(slow query log):记录执行时间超出指定值的sql语句或者是执行没有索引的sql语句(优化慢查询sql语句是DBA要做的)
二进制日志(binary log):记录数据被修改的相关信息:
错误日志:在data数据目录下以err结尾的
二进制日志:bin-log
普通查询日志和慢查询日志一般不打开,日志文件太大了
对于普通日志:
mysql> show variables like '%log%';
使用set将其打开:
mysql> set global general_log = ON;Query OK, 0 rows affected (0.01 sec)
然后随便创建或者查询几个表,都会在localhost.log这个文件中记录
慢查询:(在/etc/my.cnf配置)
#查询时间超过1秒的sql语句会被记录
long_query_time=1
#记录没有使用索引的查询
log_queries_not_using_indexes=1
#记录慢查询日志的文件地址
slow-query-log-file=/usr/local/mysql/localhost-slow.log
binlog日志有3种模式。