mysql怎么终止当前正在执行的sql语句
第一种:查Slowquery的SQL语法:
log_slow_queries=/var/log/mysql/mysql-slow.log
long_query_time=2(超过2秒的SQL语法记录起来,设短一点来记录除错也是一种方法XD)
第二种:设MySQLReplication用binlog:
log_bin=/var/log/mysql/mysql-bin.log(此档要用mysqlbinlog解来看)
mysql会将所有INSERT/UPDATE/DELETE语法记於此(但是语法可能跟你想的不同),这是要写给SLAVE用的log档
第三种:推荐此方法,将MySQL执行的每行指令全都记录起来:
log=/tmp/mysql.log
restartmysql後,tail-f/tmp/mysql.log就可以看到罗!
补充:最早前的方法是mysqldump,然後执行完後再mysqldump,再diff,但是在DB>1G後就放弃此方法了XD
shell脚本实现,将mysql控制台执行命令的结果输出
代码示例:
#!/bin/bash
Host=localhost
User=root
Password=root
mysql -h $Host -u$User -p$Password << EOF
use Library;
select email from User where Id = "123456" into outfile '/tmp/fd.txt';
EOF