9.10、mysql进程、状态在线修改参数重要知识

1、-e :改参数表示不用登陆mysql就可以使用mysql的命令,有利于于加管道符对数据进行处理;

mysql -uroot -p123456 -e "show databases;"

2、查看连接到mysql的进程:

[ ~]# mysql -uroot -p123456 -e "show full processlist;"

+----+------+-----------+------+---------+------+-------+------------------+

| Id | User | Host | db | Command | Time | State | Info |

+----+------+-----------+------+---------+------+-------+------------------+

| 1 | root | localhost | NULL | Query | 0 | NULL | show processlist |

+----+------+-----------+------+---------+------+-------+------------------+

3、通过“show global variables”查看mysql的参数信息:

[ ~]# mysql -uroot -p123456 -e "show global variables;" | grep "log_bin"

log_bin ON

log_bin_trust_function_creators OFF

sql_log_bin ON

[ ~]# mysql -uroot -p123456 -e "show global variables like ‘log_bin‘;"

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| log_bin | ON |

+---------------+-------+

4、通过"show global status"查看mysql会话状态:

[ ~]# mysql -uroot -p123456 -e "show global status;" | less

(1)查看mysql插入的进程:

[ ~]# mysql -uroot -p123456 -e "show global status;" | grep "sel"

Com_insert_select 0

Com_replace_select 0

Com_select 10

5、如何在不重启mysql的情况下修改mysql的配置并且生效:

只要不重启mysql就会一直生效;

[ ~]# mysql -uroot -p123456 -e "set global key_buffer_size = 1024*32;"

[ ~]# mysql -uroot -p123456 -e "show global variables like ‘key_buffer_size‘"

+-----------------+-------+

| Variable_name | Value |

+-----------------+-------+

| key_buffer_size | 32768 |

+-----------------+-------+

[~]# vim /etc/my.cnf #修改此参数就算是重启mysql设置的参数也会生效;

set global key_buffer_size = 32k

6、命令总结:

show session status:查看当前会话的数据库状态信息;

show global status:查看整个数据库运行的状态信息,很重要,要分析并做好监控;

show global variables:查看数据库的参数信息,列如my.cnf里参数的生效情况;

show global variables like ‘key_buffer_size‘:查看key_buffer_size的参数配置 like ‘%%‘,%代表任意一个字符;

show processlist:查看正在执行的sql语句,看不全;

show full processlist:查看正在执行的sql语句,全;

set global key_buffer_size=32 * 1024:不重启数据库调整数据库参数,直接生效,重启数据库后失效;

相关推荐