1、查询一张表的详细信息(包括字段注释,字段名称,类型等).
select * from information_schema.columns where table_schema ='my_db' and table_name = 'auth_user';
2、Mysql是否开启binlog:show variables like 'log_bin';
3、查看日志:show variables like 'log_%';
4、mysql删除日志(解决阿里云RDS日志无法删除问题)不太建议使用,但是阿里云不给删日志,空间占用太多了,所以就直接删了:
RESET MASTER;//删除所有binlog日志,新日志编号从头开始
如果可以权限比较充足,建议使用下面删除语句:
purge binary logs to 'mysql-bin.000079';
show binary logs;
Mysql中如何查看慢查询以及查看线程
查看表是否被锁:
直接在mysql命令行执行:show engine innodb status\G。
查看造成死锁的sql语句,分析索引情况,然后优化sql.
然后show processlist,查看造成死锁占用时间长的sql语句。
show status like ‘%lock%。
查看表被锁状态和结束死锁步骤:
1.查看表被锁状态
show OPEN TABLES where In_use > 0; 这个语句记录当前锁表状态
2.查询进程
show processlist 查询表被锁进程
查询到相应进程kill id
3.分析锁表的SQL
分析相应SQL,给表加索引,常用字段加索引,表关联字段加索引
查看正在锁的事物:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS.
查看等待锁的事物:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS.