百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql修改参数变量设置的一些方法总结
分享文章到:

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

发布时间:01/15 来源: 浏览: 关键词:
要修改mysql参数我们最常用的办法是直接在my.cnf中进行修改然后重启mysql,也可以使用命令方式直接修改而不需要重复mysql,但后者如果一重启mysql设置的变量将无效了。


登陆mysql数据库系统中,用show processlist分析查看当前运行状态。

mysql> show processlist;

+—–+————-+——————–+

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

+—–+————-+——————–+

|207|root |192.168.0.2:51621 |mytest | Sleep | 5 | | NULL

|208|root |192.168.0.2:51622 |mytest | Sleep | 5 | | NULL

|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>修改全局变量

 代码如下
[root@admin root]# mysql
mysql> show variables like ‘%sort_buffer_size%’;
+—————————+————+
| Variable_name | Value |
+—————————+————+
| sort_buffer_size | 6291448 |
+—————————+————+
1 rows in set (0.00 sec)

用set GLOBAL 命令设置全局变量

 代码如下
mysql> set GLOBAL sort_buffer_size = 7000000;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like ‘%sort_buffer_size%’;
+—————————+————+
| Variable_name | Value |
+—————————+————+
| sort_buffer_size | 6291448 |
+—————————+————+
1 rows in set (0.00 sec)

当前此参数的值并不发生变化,先退出,然后重新连进去
mysql> exit
Bye
重新连接mysql数据库

 代码如下
[root@admin root]# mysql
mysql> show variables like ‘%sort_buffer_size%’;
+—————————+————+
| Variable_name | Value |
+—————————+————+
| sort_buffer_size | 7000000 |
+—————————+————+
1 rows in set (0.00 sec)

新的参数值生效
2>修改会话级变量
用show variables 命令查看当前参数的值,like ‘pattern’用于模式匹配,查找指定的参数

 代码如下
mysql> show variables like ‘%sort_buffer_size%’;
+—————————+————+
| Variable_name | Value |
+—————————+————+
| sort_buffer_size | 6291448 |
+—————————+————+
1 rows in set (0.00 sec)

用set SESSION命令设置会话级变量的新值

 代码如下
mysql> set SESSION sort_buffer_size=7000000;
Query OK, 0 rows affected (0.00 sec)

修改会话级变量对当前会话来说立刻生效

 代码如下
mysql> show variables like ‘%sort_buffer_size%’;
+—————————+————+
| Variable_name | Value |
+—————————+————+
| sort_buffer_size | 7000000 |
+—————————+————+
1 rows in set (0.00 sec)
mysql> exit
Bye

退出重新连接后,此参数恢复原值

 代码如下

[root@admin99 root]# mysql
mysql> show variables like ‘%sort_buffer_size%’;
+—————————+————+
| Variable_name | Value |
+—————————+————+
| sort_buffer_size | 6291448 |
+—————————+————+
1 rows in set (0.00 sec)


老外给了一个解决方案

 代码如下

mysql> show slave status G
...
     Replicate_Do_DB: test
...
mysql> system gdb -p $(pidof mysqld)
          -ex 'call rpl_filter->add_do_db(strdup("hehehe"))' -batch
mysql> show slave status G
...
      Replicate_Do_DB: test,hehehe
...

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有1人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板