Mysql的日志

主要有四种:

  1. 查询日志
  2. 错误日志
  3. 慢查询日志
  4. 二进制日志

查询日志:一切查询均进入(不建议开启)

# 0代表关闭,1代表开启
general-log=0  

# 设置查询日志文件名:/mysql/data/XPS13.log
general_log_file="XPS13.log"

错误日志

# 设置错误日志文件名:/mysql/data/XPS13.err
log-error="XPS13.err"

慢查询日志

# 以文件的方式记录日志
log-output=FILE

# 0代表关闭,1代表开启
slow-query-log=1 

# 慢查询日志
slow_query_log_file="XPS13-slow.log"

# 这里设置秒,譬如2秒认为是慢的则记录。可以用 select sleep(3) 测试
long_query_time=2

在my.ini中找打[mysqld],在下方进行设置。完成之后重启mysql服务。之后进入/mysql/data/可以看到三个文件(如果开启的话)

二进制日志

1、记录了所有的DDL(Create、Drop和Alter)和DML(insert、update、delete_的语句,但不包括查询的语句;

2、语句以事件的方式保存,描述了数据的更改过程;

3、往往用于灾难时数据恢复和我们的主从同步依据;

开启二进制日志的方式特别简单。只需要在my.ini中找到[mysqld]下方,输入log-bin="abc" 即可,文件名随意。

然后重启mysql服务。 即可在/mysql/data下看到如下图:

查看 mysql/bin/mysqlbinlog.exe 是否存在,如果不存在则下载:http://download.csdn.net/download/qq_25286001/9888127

随意新建一个数据库“prod_class_attr”,随意插入一点数据然后再删除。就可以使用 mysqlbinlog.exe 来查看了

查看二进制日志。注意路径必须是 /

$ ./mysqlbinlog.exe D:/phpStudy/MySQL/data/abc.000001

可以看到 "at 1923" 这个节点我们删除了数据库“prod_class_attr”。所以我们只需要还原到“at 1896”这个节点即可。

$ mysqlbinlog.exe --stop-position=1896 D:/phpStudy/MySQL/data/abc.000001 | mysql -u root -p

输入密码。然后控制台应该什么东西都没输出。这时候刷新一下数据库,又回来了!数据也回来啦!

results matching ""

    No results matching ""