7

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

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

mysql> select @@max_connections

它显示最大连接数为 100。

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

感谢你的回复。

4

6 回答 6

9

确保 [mysqld] 部分下的 max_connections :

前任:

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

[client]
#mysql-client settings here..
于 2012-01-25T14:38:59.763 回答
7

尝试运行mysqld --verbose --help看看mysqld实际读取的是哪个配置文件,使用了哪些参数和值。输出将如下所示:

mysqld Ver 5.0.51a-24-log 用于 x86_64 上的 debian-linux-gnu ((Debian))
版权所有 (C) 2000 MySQL AB,Monty 和其他人
该软件附带绝对没有保证。这是免费软件,
欢迎您在 GPL 许可下修改和重新分发它

默认选项按给定顺序从以下文件中读取:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf
读取以下组: mysql_cluster mysqld server mysqld-5.0

变量(--variable-name=value)
和布尔选项 {FALSE|TRUE} 值(读取选项后)
--------------------------------- ----------------- ------------
...

要查看正在运行的 MySQL 服务器正在使用哪些值,请键入
'mysqladmin variables' 而不是 'mysqld --verbose --help'。

于 2012-01-25T16:00:51.397 回答
1

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

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

于 2013-11-15T05:24:52.883 回答
1

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

于 2016-02-03T19:37:09.983 回答
1

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

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

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

于 2018-02-15T12:18:47.587 回答
0

将 my.cnf 放入 /etc/my.cnf 并重新启动 mysql 为我解决了这个问题。我正在使用 mac 操作系统。mysql版本是5.6.41

于 2020-09-09T10:03:55.620 回答