想实时查看MySQL所执行的败蔽sql语句,类似mssql里的事件探查器。对my.ini文件进行设置,打开文件进行修改:
basedir=E:/MySQL 4.0.12 #bind-address=192.168.15.196 datadir=E:/MySQL 4.0.12/data #language=E:/MySQL 4.0.12/share/your language directory #slow query log#=slowqueris.log #tmpdir#= #port=3306 #set-variable=key_buffer=16M
ong_query_time =1 --是指执行超过多久的sql会被log下来,这里是1秒
log-slow-queries=slowqueris.log --将查询返回较慢的语句进行记录
log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query
log=mylog.log --对所有执行语句进行记录
以上参数开启后,可能会影响MySQL性能,在生产环境下建议关闭
如何使用新的更新日志
如果你只使用一个更新日志,你只须清空日志文件,然后移走旧的更新日志文件到一个备份中,然后启用新的更新日志。
用下列方法可以强纤冲制服务器启用新的更新日志:
mysqladmin flush-logs
你一般需要在命令行提供使用的`数据库用户:
mysqladmin –u root –p flush-logs mysqladmin refresh
你一般需要在命令行提供使用的数据库用户:
mysqladmin –u root –p refresh
如果你正在使用MySQL 3.21或更早的版本,你必须使用mysqladmin refresh。
SQL命令
FLUSH LOGS
重启服务器
上述方法都具有这样的功能:
关闭并且再打开标准和更新记录文件。如果你指定了一个没有扩展名的更新记录文件,新的更新记录文件的扩展数字将相对先前的文件加1。
mysql>FLUSH LOGS
如何使用新的常规日志
用上面的方法同样可以强制更新常规日志。
要准备备份常规日志,其步骤可能复杂一些:
察竖州$ cd mysql-data-directory$ mv mysql.log mysql.old$ mysqladmin flush-tables
然后做一个备份并删除“mysql.old”。
1先通过status命令查看Mysql运行状态mysql>迟姿橘status--------------mysqlVer14.14Distrib5.1.73,forredhat-linux-gnu(x86_64)usingreadline5.1Connectionid:113752Currentdatabase:information_schemaCurrentuser:push_user@localhostSSL:NotinuseCurrentpager:stdoutUsingoutfile:''Usingdelimiter:Serverversion:5.1.73SourcedistributionProtocolversion:10Connection:LocalhostviaUNIXsocketServercharacterset:latin1Dbcharacterset:utf8Clientcharacterset:latin1Conn.characterset:latin1UNIXsocket:/tmp/mysql.sockUptime:22days8hours31min23secThreads:38Questions:1037751897Slowqueries:2356Opens:79836Flushtables:1Opentables:64Queriespersecondavg:537.282--------------在上面显示列表的最后一条,我们来查看Slowqueries这一项的值,如果多次查看的值码团大于0的话,说明有些查询sql命令执行时间过长。2)这时再通过showprocesslist命令来查看当前正在运行的SQL,从中找出运行慢的SQL语句,找到执行慢的语句后,册裂再用explain命令查看这些语句的执行计划。mysql>showprocesslist+--------+-----------+---------------------+--------------------+---------+-------+-------+------------------+|Id|User|Host|db|Command|Time|State|Info|+--------+-----------+---------------------+--------------------+---------+-------+-------+------------------+|50270|ambari|DataBase-01:41512|ambari|Sleep|23||NULL||50271|ambari|DataBase-01:41511|ambari|Sleep|6||NULL||50272|ambari|DataBase-01:41514|ambari|Sleep|23||NULL||62452|oozie|DataBase-02:42987|oozie|Sleep|25||NULL||63660|ambari|DataBase-01:56052|ambari|Sleep|0||NULL||110404|push_user|localhost:33817|quartz|Sleep|12||NULL||112835|push_user|localhost:46571|hibernate|Sleep|1||NULL||113163|push_user|localhost:56585|hibernate|Sleep|1||NULL||113289|push_user|14.118.132.20:47333|DW|Sleep|628||NULL||113320|push_user|localhost:47428|hibernate|Sleep|3||NULL||113321|push_user|localhost:47429|hibernate|Sleep|3||NULL||113322|push_user|localhost:47430|hibernate|Sleep|3||NULL||113357|push_user|localhost:52337|hibernate|Sleep|3||NULL||113364|push_user|localhost:57206|hibernate|Sleep|3||NULL||113366|push_user|localhost:34813|hibernate|Sleep|1||NULL||113398|push_user|localhost:37382|hibernate|Sleep|1||NULL||113498|push_user|localhost:47626|quartz|Sleep|12717||NULL||113709|push_user|localhost:59382|hibernate|Sleep|1||NULL||113710|push_user|localhost:33627|hibernate|Sleep|1||NULL||113715|hive|DataBase-02:54968|hive|Sleep|2390||NULL||113716|hive|DataBase-02:54969|hive|Sleep|2390||NULL||113717|hive|DataBase-02:54974|hive|Sleep|2336||NULL||113718|hive|DataBase-02:54975|hive|Sleep|2336||NULL||113719|push_user|localhost:48243|hibernate|Sleep|1||NULL||113720|push_user|localhost:48245|hibernate|Sleep|1||NULL||113721|push_user|localhost:48244|hibernate|Sleep|1||NULL||113722|push_user|localhost:48247|hibernate|Sleep|1||NULL||113723|push_user|localhost:48249|hibernate|Sleep|1||NULL||113724|push_user|localhost:48248|hibernate|Sleep|1||NULL||113745|push_user|localhost:50684|hibernate|Sleep|1||NULL||113746|push_user|localhost:50685|hibernate|Sleep|1||NULL||113747|push_user|localhost:50695|hibernate|Sleep|1||NULL||113748|push_user|localhost:50696|hibernate|Sleep|1||NULL||113749|push_user|localhost:50697|hibernate|Sleep|1||NULL||113750|push_user|localhost:50699|hibernate|Sleep|1||NULL||113751|push_user|localhost:50700|hibernate|Sleep|1||NULL||113752|push_user|localhost|information_schema|Query|0|NULL|showprocesslist||113753|push_user|14.118.132.20:28688|DW|Sleep|396||NULL|+--------+-----------+---------------------+--------------------+---------+-------+-------+------------------+38rowsinset(0.00sec)或者通过如下命令查询:mysql>useinformation_schemamysql>select*fromPROCESSLISTwhereinfoisnotnull+--------+-----------+-----------+--------------------+---------+------+-----------+--------------------------------------------------+|ID|USER|HOST|DB|COMMAND|TIME|STATE|INFO|+--------+-----------+-----------+--------------------+---------+------+-----------+--------------------------------------------------+|113752|push_user|localhost|information_schema|Query|0|executing|select*fromPROCESSLISTwhereinfoisnotnull|+--------+-----------+-----------+--------------------+---------+------+-----------+--------------------------------------------------+1rowinset(0.00sec)如果我的理解没错的话,你的意思是正在执行的毕迟sql语句吧,命令:
mysql>show full processlist
示例:
mysql>缺悔select sleep(20)
另一个session执行:
mysql>show full processlist
--- 可以看到正在执行的手扮李语句 ---
| 183 | root | localhost | NULL | Query| 6 | User sleep| select sleep(20) |
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)