Mysql:my.cnf中的修改没有生效

时间:2012-01-25 14:34:47

标签: mysql my.cnf

我已使用以下行更新了我的数据库的my.cnf文件:max_connections=200。之后我停下来启动了mysql服务,以便更改生效。

但由于某种原因,此更改不会影响数据库,因为如果我运行:

mysql> select @@max_connections

它表明最大连接数为100。

显然,还有其他地方可以管理这个价值。我在哪里可以找到它或者我做错了什么?

感谢您的回复。

6 个答案:

答案 0 :(得分:8)

确保[mysqld]部分下的max_connections:

例如:

[mysqld]
socket=/path/to/mysql.sock
datadir=/var/lib/mysql
max_connections=200

[client]
#mysql-client settings here..

答案 1 :(得分:5)

尝试运行mysqld --verbose --help以查看mysqld实际读取的配置文件以及使用的参数和值。 输出将如下所示:

mysqld  Ver 5.0.51a-24-log for debian-linux-gnu on x86_64 ((Debian))
Copyright (C) 2000 MySQL AB, by Monty and others
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Default options are read from the following files in the given order:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf
The following groups are read: mysql_cluster mysqld server mysqld-5.0

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- -----------------------------
...

To see what values a running MySQL server is using, type
'mysqladmin variables' instead of 'mysqld --verbose --help'.

答案 2 :(得分:1)

这可能与mysql服务器关闭和重启的'方式'有关。在我的系统上,如果我使用mysqld守护进程服务来关闭mysql(例如服务mysqld stop),我会收到一个关闭通知,但ps显示mysql仍在运行。使用类似的'service mysqld restart',my.cnf文件的一些更改会被接受,但很多都没有。

关闭mysql的另一种方法是使用mysqladmin -u user -pPass shutdown。我注意到当我使用这个方法时,mysql完全关闭(ps中没有剩下的),当我重新启动mysql服务器时,对my.cnf文件的所有更改都被接受了。

答案 3 :(得分:1)

对mysqld的更改不一定反映在mysql客户端中!我在my.cnf中更改了一个全局变量赋值,重新启动了该服务,并在mysql客户端中查询了它。它返回了旧值。但是,从脚本中查询时,该值实际上已更改!

答案 4 :(得分:0)

如果mysql作为Window服务启动,请检查Windows服务上的“可执行路径”设置。 (服务 - > MYSQL56 - >属性)。

如果传入了--defaults-file选项,它可能会指向一个完全不同的.ini文件,该文件位于未显示'mysqld --verbose --help'的位置。

如果从服务启动参数中删除--defaults-file选项,它将通过mysqld列出的ini文件列表--verbose --help。

答案 5 :(得分:0)

将my.cnf放在/etc/my.cnf中并重新启动mysql已经为我解决了这个问题。我正在使用Mac OS。 Mysql版本是5.6.41

相关问题