mysql性能相关命令

1、查看主机192.168.1.12当前正在执行的mysql连接
 
# mysqladmin -u root -p -h 192.168.1.12 processlist
 
2、查看所有mysql连接数
 
> show full processlist;

3、只查看主机192.168.1.12的mysql的状态(查看连接数):
 
# mysqladmin  -u root -p -h 192.168.1.12 status
 
4、查看全部状态信息
 
# mysqladmin  -u root -p -h 192.168.1.12 extended-status 

   hreads_connected  当前的连接数
   Connections  试图连接到(不管是否成功)MySQL服务器的连接数。
   Max_used_connections  服务器启动后已经同时使用的连接的最大数量。
 
5、查看最大连接数
 
> show variables like '%max_connections%';

6、设置max_connections
 
方法一:在my.cnf文件中,缺点是需要重启mysql服务
 
[mysqld]
max_connections:1000;

方法二:通过命令设置,不需要重启服务(推荐)
 
mysql> set global max_connections=1000;
mysql> flush privileges;

7、查看相关超时时间设置
 
> show global variables like '%timeout';

8、设置mysql连接超时时间(默认8小时也就是28800秒,设置小点,可用于处理过多的死连接)
 
方式一:在my.cnf文件中
 
[mysqld]
wait_timeout=120
interactive_timeout=120

方式二:通过命令设置
 
mysql> set wait_timeout = 120; 对当前交互链接有效;(单位:秒)
mysql> set interactive_timeout = 120; 对后续起的交互链接有效;
mysql> set global interactive_timeout=120; 设置全局变量
mysql> set global wait_timeout=120;

注意:
全局变量和一般变量是不一样的两个变量,这也就是为何导致修改没有起作用的原因.
 

9、查看某个用户权限
 
> show grants for 'root'@'%';
 

10、查看MYSQL数据库 每秒 的操作情况
 
> show global status where Variable_name in

('com_select','com_delete','com_insert','com_update');
 

11、> mysqladmin flush-table

该命令可以立即关闭所有不使用的表并将所有使用中的表标记为已经关闭,这样可以有效释放大多数使用中的

内存。FLUSH TABLE在关闭所有表之前不返回结果。