码迷,mamicode.com
首页 > 数据库 > 详细

mysql跟踪sql

时间:2015-07-30 19:24:05      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

mysql中执行的sql跟踪比oracle简单多了,它自身有log。我们只要打开这个log记录,执行sql语句,再查看这个log就可以了。
1. 首先要打开log的开关
使用命令:show variables like ‘%log%‘;
能看到一个查询结果:
                                      

技术分享

 将其设置为ON,使用以下命令:
set global general_log=ON
再查看一下:show variables like ‘%log%‘; general_log的开关应该已经打打开了  

技术分享
 注意,我们还能看到一个general_log_file, 它有默认值,我们可以修改,也可以不改。
我们修改一下,使用 vi /etc/mysql/my.cnf     (我尝试过用set来设置,但没有成功,只能修改mysql的配置文件了)
增加一行:log=/tmp/my_luyx.log
技术分享
 重启mysql,再次查看show variables like ‘%log%‘;
技术分享
这样就完全设置好了,在mysql的客户端运行一些sql语句,在/tmp/my_luyx.log中就能查看到刚才执行的sql语句了。


============Mysql 非本机连接报10061错误==============
在Ubuntu上使用sudo apt-get install mysql-server-5.0 安装了mysql,在外面访问不了mysql,但是在Ubuntu上访问是没有问题的。
技术分享
 提示如图的:can‘t connect to mysql server on *** (11061)
于是开始查找原因:
1. mysql已经打开, 用户已经创建,且用户的访问权限是@%
2. 3306端口是不是没有打开?
使用nestat命令查看3306端口状态:
~# netstat -an | grep 3306
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN

从结果可以看出3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问。解决方法 :修改/etc/mysql/my.cnf文件。 打开文件,找到下面内容:
-----------
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address  = 127.0.0.1
-----------
把上面这一行注释掉或者把127.0.0.1换成合适的0.0.0.0,或者注释掉。

重新启动后,重新使用netstat检测:
~# netstat -an | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
这时就可以连接了
 
转自:http://luyongxin88.blog.163.com/blog/static/9255807201131865219888/

mysql跟踪sql

标签:

原文地址:http://www.cnblogs.com/kenwong/p/4690099.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!