mysql修改参数变量设置的一些方法总结

SEO研究中心 SEO研究中心提供免费SEO公开课

要修改mysql参数我们最常用的办法是直接在my.cnf中进行修改然后重启mysql,也可以使用命令方式直接修改而不需要重复mysql,但后者如果一重启mysql设置的变量将无效了.

登陆mysql数据库系统中,用show processlist分析查看当前运行状态,代码如下:

  1. mysql>showprocesslist;
  2. +—–+————-+——————–+
  3. |Id|User|Host|db|Command|Time|State|Info
  4. +—–+————-+——————–+
  5. |207|root|192.168.0.2:51621|mytest|Sleep|5||NULL
  6. |208|root|192.168.0.2:51622|mytest|Sleep|5||NULL
  7. |220|root|192.168.0.2:51676|mytest|Query|84|Locked|

一般情况下,在修改后my.cnf,需要重启一下mysql才能让这个参数生效,有人说,可以使用 /etc/init.d/mysqld reload,但笔者reload后,再次查看变量的值依旧没有改变.

下面是笔者的操作过程,代码如下:

mysql -uroot -psss@pas -e "show variables" |grep max_connection

结果为 max_connections 1024

修改my.cnf 使如下代码:max_connections 2048.

然后 /etc/init.d/mysqld reload,代码如下:

mysql -uroot -psss@pas -e "show variables" |grep max_connection

结果依然是 max_connections 1024,所以,笔者认为这样做是不能在线修改mysql的配置参数的,于是代码如下:

mysql -uroot -psss@pas -e "set GLOBAL max_connections=2048"

mysql -uroot -psss@pas -e "show variables" |grep max_connection

结果为:max_connections 2048

所以,使用命令 set GLOBAL 变量名 变量值,这样就可以在线修改mysql的配置参数了.

一些参考

1>修改全局变量,代码如下:

  1. [root@adminroot]#mysql
  2. mysql>showvariableslike‘%sort_buffer_size%’;
  3. +—————————+————+
  4. |Variable_name|Value|
  5. +—————————+————+
  6. |sort_buffer_size|6291448|
  7. +—————————+————+
  8. 1rowsinset(0.00sec)

用set GLOBAL 命令设置全局变量,代码如下:

  1. mysql>setGLOBALsort_buffer_size=7000000;
  2. QueryOK,0rowsaffected(0.00sec)
  3. mysql>showvariableslike‘%sort_buffer_size%’;
  4. +—————————+————+
  5. |Variable_name|Value|
  6. +—————————+————+
  7. |sort_buffer_size|6291448|
  8. +—————————+————+
  9. 1rowsinset(0.00sec)

当前此参数的值并不发生变化,先退出,然后重新连进去.

mysql> exit

Bye

重新连接mysql数据库,代码如下:

  1. [root@adminroot]#mysql
  2. mysql>showvariableslike‘%sort_buffer_size%’;
  3. +—————————+————+
  4. |Variable_name|Value|
  5. +—————————+————+
  6. |sort_buffer_size|7000000|
  7. +—————————+————+
  8. 1rowsinset(0.00sec)

新的参数值生效.

2>修改会话级变量

用show variables 命令查看当前参数的值,like ‘pattern’用于模式匹配,查找指定的参数,代码如下:

  1. mysql>showvariableslike‘%sort_buffer_size%’;
  2. +—————————+————+
  3. |Variable_name|Value|
  4. +—————————+————+
  5. |sort_buffer_size|6291448|
  6. +—————————+————+
  7. 1rowsinset(0.00sec)--phpfensi.com

用set SESSION命令设置会话级变量的新值,代码如下:

mysql> set SESSION sort_buffer_size=7000000;

Query OK, 0 rows affected (0.00 sec)

修改会话级变量对当前会话来说立刻生效,代码如下:

  1. mysql>showvariableslike‘%sort_buffer_size%’;
  2. +—————————+————+
  3. |Variable_name|Value|
  4. +—————————+————+
  5. |sort_buffer_size|7000000|
  6. +—————————+————+
  7. 1rowsinset(0.00sec)
  8. mysql>exit
  9. Bye

退出重新连接后,此参数恢复原值,代码如下:

  1. [root@admin99root]#mysql
  2. mysql>showvariableslike‘%sort_buffer_size%’;
  3. +—————————+————+
  4. |Variable_name|Value|
  5. +—————————+————+
  6. |sort_buffer_size|6291448|
  7. +—————————+————+
  8. 1rowsinset(0.00sec)

老外给了一个解决方案,代码如下:

  1. mysql>showslavestatusG
  2. ...
  3. Replicate_Do_DB:test
  4. ...
  5. mysql>systemgdb-p$(pidofmysqld)
  6. -ex'callrpl_filter->add_do_db(strdup("hehehe"))'-batch
  7. mysql>showslavestatusG
  8. ...
  9. Replicate_Do_DB:test,hehehe
  10. ...

相关广告
  • mysql修改参数变量设置的一些方法总结 mysql修改参数变量设置的一些方法总结 mysql修改参数变量设置的一些方法总结
相关阅读

mysql修改参数变量设置的一些方法总结

2019/10/10 17:36:01 | 谷歌SEO算法 | 微信公众号