mysql跟踪sql

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/

时间: 2024-08-30 07:28:47

mysql跟踪sql的相关文章

MySQL跟踪SQL&慢查询分析工具

简介 之前的工作一直使用的SQL SERVER, 用过的都知道,SQL SERVER有配套的SQL跟踪工具SQL Profiler,开发或者定位BUG过程中,可以在操作页面的时候,实时查看数据库执行的SQL语句,十分方便.最近的项目使用MySQL,没有类似的功能,感觉到十分的不爽,网上也没有找到合适的免费工具,所以自己研究做了一个简单工具. 功能 实时查询MySql执行的SQL语句 查看性能异常的SQL(执行超过2秒) 技术方案 前端vue,样式bootstrap 后台dotnet core m

mysql跟踪和日志

mysql 打开 general log 后,所有的查询语句都会记录在 general log 文件,文件为只读方式,但这样general log文件会非常大,所以默认是关闭的. 但有时需要查错等原因,暂时需要打开general log. 打开方法: show global variables like '%general%'; set global general_log = on; // 打开 set global general_log = off; // 关闭 general log 默

mysql5.6.16下跟踪SQL查询转换的结果

当SQL执行时,会做一些查询转换,你看到的SQL很可能被转换为其他的形式的SQL执行(有视图重写,查询转换,谓词推进等).在Oracle下,可以通过10053跟踪SQL语句.在mysql下,可以通过设置optimizer_trace来实现. mysql> select version(); +-----------+ | version() | +-----------+ | 5.6.16    | +-----------+ 1 row in set (0.00 sec) mysql> cr

退役笔记一#MySQL = lambda sql : sql + ' Source Code 4 Explain Plan '

Mysql 查询执行过程 大致分为4个阶段吧: 语法分析(sql_parse.cc<词法分析, 语法分析, 语义检查 >) >>sql_resolver.cc # JOIN.prepare 生成逻辑查询plan(sql_optimizer.cc) >># JOIN.optimize 生成物理查询plan(sql_planner.cc) run the explain plan(sql_executor.cc) 退役笔记一#MySQL = lambda sql : sql

Oracle、MySql、Sql Server比对

1.    价格 MySql:廉价(部分免费):当前,MySQL採用双重授权(DualLicensed),他们是GPL和MySQLAB制定的商业许可协议.假设你在一个遵循GPL的自由(开源)项目中使用MySQL,那么你能够遵循GPL协议免费使用MySQL.否则,你须要购买MySQLAB制定的那个商业许可协议.Windows $200,Unix或Linux自行安装免费,.Unix或Linux第三方安装$200. Sql Server:适中. SQL 2008 标准版:[1CPU 无限用户 R2 版

mysql执行sql文件

mysql -uspider_55haitao -pspider_55haitao -Dspider_55haitao</home/gphonebbs/Dump20161109.sql 方法一 使用cmd命令执行(windows下,unix或Linux在的其控制台下)[MySQL的bin目录]\mysql –u用户名 –p密码 –D数据库<[sql脚本文件路径全名],示例:D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql注意

如何在dos命令中启动mysql或sql server 服务器的一些操作

========================dos命令启动mysql或者sql srever 的步骤================= 一.dos命令启动mysql 1.进入dos命令窗口 2.启动mysql服务器,net start mysql 3.登录到mysql服务器中,mysql -hlocalhost -uroot -p123456() 4.首先可以先显示所有的数据库,show databases; 5.看到有哪些数据库可以使用数据库,use 数据库名; 6.进入到数据库中后,先看

ubuntu操作mysql新手sql教程

ubuntu操作mysql新手sql教程 1.启动mysql数据库: 效果: 2.进入mysql: 效果: 3.查看所有数据库: 效果: 4.创建数据库: 效果: 5.进入数据库: 效果: 6.创建表: 效果: 7.往表里插入数据: 效果: 8.显示字段及一些非空信息: 效果: 9.查看表内容: 效果: 10.退出mysql数据库: 效果: 11.关闭mysql数据库: 效果:

MySQL audit—SQL审计插件

自从MySQL5.6出现以来开始对json的支持后,使得在MySQL上增加了一些新特性,为此这一点让MySQL增加了一些新的插件支持,在这里就说一说MySQL的SQL审计插件,SQL审计插件并不是MySQL官方的,它是由macfee公司基于percona开发的,所以,在添加SQL审计的插件功能时需要去下载对应版本的MySQL audit插件(支持MariaDB),至于MySQL的插件安装比较简单,记得以前有说过MySQL的半同步复制功能时,其中的半同步复制也是插件,需要的可以参看:http://