我有一个虚拟盒,里面安装了两个MySQL实例。
一审:
- /etc/mysql/my.cnf
- /var/lib/mysql
- port = 3306二审:
- /etc/mysql2/my.cnf
- /var/lib/mysql2
- port = 3307我可以把两者连接起来。第一个例子很好。第二种不是。
MySQL没有忽略my.cnf文件中的一些参数(套接字、端口、pid文件、数据-dir.)。但是,如果我试图更改其他内容:缓存、缓冲区、日志文件,它将完全忽略重新启动后的更改。
我需要让MySQL阅读来自my.cnf的所有参数。
我试过:-把my.cnf从/etc/mysql移到/var/lib/mysql;-注释掉!includeir /etc/mysql/conf.d。
有人能指点我吗?
发布于 2012-10-19 08:34:53
多亏了所有人。
问题解决了。问题在于权限方面:
- `mysql` doesn't have a permission to read my.cnf;
- I started up instance with sudo user;
- while connected without it.发布于 2012-10-19 07:34:53
我在诊断一个盒的性能问题时遇到了类似的问题,结果发现该服务器的my.cnf中有一个不正确/错误的标题条目,所以MySQL忽略了该部分中的所有设置.
例如,如果您有以下内容;
[mysqld]
######################################################
# First, the generic server configuration items
port = 3306
socket = /var/lib/mysql/mysql.sock
datadir = /mysql/data
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
key_buffer_size = 256M
table_open_cache = 1024
query_cache_size = 32M然后,缓冲区调优部分将被忽略,因为它位于client部分,而不是mysqld部分.重新安排各部分,并按预期进行所有工作.
希望,这对你来说就像这样简单!
发布于 2013-05-17 19:12:55
我也有同样的症状。我将启动该服务,它将从/etc/my.cnf读取数据目录,而忽略其余部分。
我终于认定塞利诺是罪魁祸首。我查看了/var/ log /audit.log中的selinux日志文件,并看到了一些关于读取my.cnf属性的警告。
然后,我比较了selinux在有问题的服务器上对/etc/my.cnf的看法,并将它与另一个没问题的盒子进行了比较。在坏框中,命令:
ls -Z /etc/my.cnf显示"admin_home_t“是许可的一部分,但在好的盒子上,它是"etc_t”。我想,在某个时候,我在文件顶部复制了一个my.cnf,并更改了selinux权限。
为了解决这个问题,我在/etc/my.cnf上发布了这个命令:
chcon -R -t etc_t /etc/my.cnf重新启动mysqld:服务mysqld重新启动,my.cnf中的设置显示在变量中: mysql>显示变量;
https://dba.stackexchange.com/questions/27080
复制相似问题