1. 查看最大连接数:
show variables like 'max_connections';
mysql> show status like 'Threads%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 58 | | Threads_connected | 57 | ###这个数值指的是打开的连接数 | Threads_created | 3676 | | Threads_running | 4 | ###这个数值指的是激活的连接数,这个数值一般远低于connected数值 +-------------------+-------+ Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数 这是是查询数据库当前设置的最大连接数 mysql> show variables like '%max_connections%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 100 | +-----------------+-------+ 可以在/etc/my.cnf里面设置数据库的最大连接数 max_connections = 1000
SHOW PROCESSLIST; SHOW FULL PROCESSLIST; SHOW VARIABLES LIKE '%max_connections%'; SHOW STATUS LIKE '%Connection%';
2. 查看当前连接的用户:
show processlist;
show processlist; 可以显示前100条连接信息 show full processlist; 可以显示全部。随便说下,如果用普通账号登录,就只显示这用户的。注意命令后有分号。
3. 查看当前库下面的表中字段的相关信息:
SELECT *
FROM
`information_schema`.`COLUMNS` where `TABLE_SCHEMA`='c' and `TABLE_NAME`='prd_product_main' order by `ORDINAL_POSITION`;
注意:此处的全是ESC按键下面的反引号键。
表中字段的基本信息全在里面,加上适当的条件查询,就可以达到我们想要的目的了。
5. 查询所有的表
select * FROM `information_schema`.`TABLES` WHERE
`TABLES`.`TABLE_TYPE` = 'base table';
6. 查看执行计划是否开启
show variables like '%profil%';
开启执行计划: set profiling=1;
7. 通过执行计划分析 SQL
explain xxSQL;
参数详情参考:http://www.cnblogs.com/xu-xiang/p/5833349.html
8. 查看当前MySQL支持的存储引擎详情
show engins;
9. 查看MySQL 的事务隔离级别
select @@tx_isolation
10. 查询表锁并杀死线程
show processlist;
kill thread_id;
SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE .......;
11. 查看表的信息
desc xxxtable;
show create table xxxtable;