无论在哪里更改,我似乎都无法让 MySQL 更改 max_allowed_packet
的全局值。
在 /usr/local/mysql/support-files/.my.cnf
中,我有:
...
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 384M
max_allowed_packet = 32M
...
在 ~/.my.cnf 中,我有:
[client]
socket = /var/mysql/mysql.sock
user=rc
password=shop
# database=application_data
[mysql]
prompt='MYSQL \u@\h:\d > '
# wait_timeout = 576000
[mysqld]
socket = /var/mysql/mysql.sock
max_allowed_packet=64M
[mysqldump]
我在两个 cnf 文件中为 max_allowed_packet
设置了不同的值,以查看一个是否取代另一个。但是,这两个配置都没有被使用。当我检查 MySQL 以查看正在使用的值时,我得到:
MYSQL vicinio@localhost:(none) > SHOW VARIABLES LIKE 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
1 row in set (0.00 sec)
在我的系统偏好设置中,我可以使用偏好面板重新启动 MySQL 服务器;我很确定 pref Pane 正在使用 /Library/StartupItems/MySQLCOM/MySQLCOM
脚本,我可以在该脚本中看到它用于 mysql 服务器的位置与我正在更改的位置相同配置:
# The path to the mysql.server init script. The official MySQL
# Mac OS X packages are being installed into /usr/local/mysql.
SCRIPT="/usr/local/mysql/support-files/mysql.server"
有什么想法吗?
ETA:额外注意,我可以以用户身份更改 MySQL 中的全局值,这解决了眼前的问题,但每次重新启动 Mysql 服务器时,问题都会再次出现。更不用说我真的很想了解为什么我的配置没有达到预期的效果。
我已经阅读了关于 SO 以及谷歌搜索的各种其他问题,但没有找到任何要点。
最佳答案
这可能会有帮助:https://dba.stackexchange.com/questions/45087/max-allowed-packet-in-mysql
请务必仔细阅读第一条评论。对于文件和数据库本身的设置,它有几个细微差别。
关于mysql - 未获取 MySQL max_allowed_packet 的配置 (Mac OSX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28816386/