有时候,我们通过EF或者其他的ORM和数据库进行数据交换,这样我们不方便看到执行的sql语句,我们可以借助一些工具代理来查看,像SQL Server安装的时候就自带Profiler,可以很方便的看到执行的SQL语句,对MySql需要自己来下载安装工具,由于对这方面的工具缺乏信息,我就想到了最原始的方法——查看日志。
mysql日志的种类,一般来说,日志有五种,分别为:
错误日志:-log-err (记录启动,运行,停止mysql时出现的信息)
二进制日志:-log-bin (记录所有更改数据的语句,还用于复制,恢复数据库用)
查询日志:-log (记录建立的客户端连接和执行的语句)
慢查询日志: -log-slow-queries (记录所有执行超过long_query_time秒的所有查询)
更新日志: -log-update (二进制日志已经代替了老的更新日志,更新日志在MySQL 5.1中不再使用)
1、打开cmd
输入 mysql -u root -p,然后输入密码
2、查询当前日志记录的状况
mysql>show variables like 'log%';(是否启用了日志)
mysql> show master status;(怎样知道当前的日志)
mysql> show master logs;(显示二进制日志的数目)
3、查看日志功能状态
看到value值为off状态,没有开启日志功能。win+r 输入 services.msc打开服务。找到mysql的配置文件位置。
4、配置my.ini文件
关闭mysql服务
mysql>net stop mysql
打开my.ini配置文件,添加变量,保存。
log=E:/mysql_log.txt
然后启动mysql服务
mysql>net start mysql
5、查看日志
MySQL的查询日志记录了所有MySQL数据库请求的信息。无论这些请求是否得到了正确的执行。默认情况下MySQL查询日志是关闭的。生产环境,如果开启MySQL查询日志,对性能还是有蛮大的影响的。另外很多时候,MySQL慢查询日志基本可以定位那些出现性能问题的SQL,它跟SQL Server中的profiler有点类似,但是这个不能跟踪某个会话、用户、客户端。它只能对整个数据库进行跟踪。