本文章适合一些在windows平台做开发,服务器是linux的小伙伴
开篇首先解决一下一些小伙盘windows下cmd命令不能使用的状况:
1.首先 我的电脑 --> 高级 --> 环境变量
2.找到系统变量中的Path,如果没有,就新建
3. 分号 然后在后面加上 c:\windows\system32;c:\windows\system;c:\windows ,重启
windows平台:
日志文件类型概述:
1.错误日志 记录启动、运行或停止mysqld时出现的问题。
My.ini配置信息:
#Enter a name for the error log file. Otherwise a default name will be used.
#log-error=d:/mysql_log_err.txt
2 . 查询日志 记录建立的客户端连接和执行的语句。
My.ini配置信息:
#Enter a name for the query log file. Otherwise a default name will be used.
#log=d:/mysql_log.txt
3.更新日志 记录更改数据的语句。不赞成使用该日志。
My.ini配置信息:
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=d:/mysql_log_update.txt
4.二进制日志 记录所有更改数据的语句。还用于复制。
My.ini配置信息:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=d:/mysql_log_bin
5.慢查询日志 记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
My.ini配置信息:
#Enter a name for the slow query log file. Otherwise a default name will be used.
#long_query_time =1
#log-slow-queries= d:/mysql_log_slow.txt
Mysql日志的关闭与开启:
*注:一些整合型的服务器软件 可能会精简了my.ini的设置 ,如果以上的内容没有,就复制到 log-slow-queries= d:/mysql_log_slow.txt下面,一般精简也不会把慢查询也精简的。
二进制日志:
从概述中我可以看到my.ini配置信息的log-bin没有指定文件扩展名,这是因为即使你指定上扩展名它也不使用。
当mysql创建二进制日志文件时,首先创建一个以“mysql_log_bin”为名称,以“.index”为后缀的文件;再创建一个以“mysql_log_bin”为名称,以“.000001”为后缀的文件。
当mysql服务重新启动一次以“.000001”为后缀的文件会增加一个,并且后缀名加1递增;如果日志长度超过了max_binlog_size的上限(默认是1G)也会创建一个新的日志文件;
使用flushlogs(mysql命令符)或者执行mysqladmin –u –p flush-logs(windows命令提示符)也会创建一个新的日志文件。既然写入的都是二进制数据,用记事本打开文件是看不到正常数据的,那怎么查看呢?
开篇首先解决一下一些小伙盘windows下cmd命令不能使用的状况:
1.首先 我的电脑 --> 高级 --> 环境变量
2.找到系统变量中的Path,如果没有,就新建
3. 分号 然后在后面加上 c:\windows\system32;c:\windows\system;c:\windows ,重启
windows平台:
日志文件类型概述:
1.错误日志 记录启动、运行或停止mysqld时出现的问题。
My.ini配置信息:
#Enter a name for the error log file. Otherwise a default name will be used.
#log-error=d:/mysql_log_err.txt
2 . 查询日志 记录建立的客户端连接和执行的语句。
My.ini配置信息:
#Enter a name for the query log file. Otherwise a default name will be used.
#log=d:/mysql_log.txt
3.更新日志 记录更改数据的语句。不赞成使用该日志。
My.ini配置信息:
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=d:/mysql_log_update.txt
4.二进制日志 记录所有更改数据的语句。还用于复制。
My.ini配置信息:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=d:/mysql_log_bin
5.慢查询日志 记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
My.ini配置信息:
#Enter a name for the slow query log file. Otherwise a default name will be used.
#long_query_time =1
#log-slow-queries= d:/mysql_log_slow.txt
Mysql日志的关闭与开启:
使用以下命令查看是否启用了日志
mysql>show variables like 'log%’;
凡Value值为OFF的表示未开启服务,若要开启只需要将上的my.ini配置信息写入(my.ini为mysql安装目录下),然后去掉前面的“#”号,再重启mysql服务。OK,现在会看到指定的日志文件已创建。相反地,若要停止mysql日志服务,只需要将my.ini中对应的配置信息去掉即
可。
*注:一些整合型的服务器软件 可能会精简了my.ini的设置 ,如果以上的内容没有,就复制到 log-slow-queries= d:/mysql_log_slow.txt下面,一般精简也不会把慢查询也精简的。
二进制日志:
从概述中我可以看到my.ini配置信息的log-bin没有指定文件扩展名,这是因为即使你指定上扩展名它也不使用。
当mysql创建二进制日志文件时,首先创建一个以“mysql_log_bin”为名称,以“.index”为后缀的文件;再创建一个以“mysql_log_bin”为名称,以“.000001”为后缀的文件。
当mysql服务重新启动一次以“.000001”为后缀的文件会增加一个,并且后缀名加1递增;如果日志长度超过了max_binlog_size的上限(默认是1G)也会创建一个新的日志文件;
使用flushlogs(mysql命令符)或者执行mysqladmin –u –p flush-logs(windows命令提示符)也会创建一个新的日志文件。既然写入的都是二进制数据,用记事本打开文件是看不到正常数据的,那怎么查看呢?
使用BIN目录下mysqlbinlog命令,如:
Bin>mysqlbinlog d:/mysql_log/mysql_bin.000001
Bin>mysqlbinlog d:/mysql_log/mysql_bin.000002
查看一段时间内更新过的数据
mysqlbinlog --start-datetime="2014-05-01 20:15:00" --stop-datetime="2014-05-01 20:30:59" C:\MySQL5.1\mysql_log_update.000001 > C:\updatelog.txt
查看指定数据库shopshop更新的数据
mysqlbinlog -d shopshop C:\MySQL5.1\mysql_log_update.000001 > C:\updatelog.txt
使用SQL语句也可查看mysql创建的二进制的文件目录:
Mysql> show master logs;
查看当前二进制文件状态:
mysql> show master status;