mysql修改参数变量设置的一些方法总结
发布时间:2022-06-18 09:08:04 所属栏目:MySql教程 来源:互联网
导读:要修改mysql参数我们最常用的办法是直接在my.cnf中进行修改然后重启mysql,也可以使用命令方式直接修改而不需要重复mysql,但后者如果一重启mysql设置的变量将无效了. 登陆mysql数据库系统中,用show processlist分析查看当前运行状态,代码如下: mysql show pro
|
要修改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) --phpfensi.com 用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 ... (编辑:鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
