mysql权限问题 – 与my.cnf相关

可能重复:
mysql权限问题 – 与my.cnf相关联

我想改变max_allowed_pa​​cket的值,但是当设置my.cnf的权限为777时,我得到(按预期):

警告:全局可写configuration文件“/etc/my.cnf”被忽略

如果我把它设置为小于600,644,700,775,所有尝试…),mysqld服务无法启动。

服务无法重新启动时的错误日志是:

110814 14:30:28 mysqld_safe从/ var / lib / mysql数据库启动mysqld守护进程958警告:全局可写configuration文件'/etc/my.cnf'被忽略959 110814 14:30:28 [Note] Plugin'ndbcluster ' 被禁用。 960 / usr / libexec / mysqld:表'mysql.plugin'不存在961 110814 14:30:28 [ERROR]无法打开mysql.plugin表。 请运行mysql_upgrade来创build它。 962 110814 14:30:28 InnoDB:初始化缓冲池,大小= 8.0M 963 110814 14:30:28 InnoDB:缓冲池完成初始化
964 110814 14:30:28 InnoDB:开始; 日志序号0 47678
965 110814 14:30:28 [ERROR]无法打开和locking权限表:表'mysql.servers'不存在966 110814 14:30:28 [ERROR] mysql.db的列数错误。 预计22,find20.创build与MySQL 50086,现在运行50158.请使用mysql_upgrade修复此错误。 967 110814 14:30:28 [错误] mysql.user在位置29没有Event_priv列968 110814 14:30:28 [ERROR]无法打开mysql.event 969 110814 14:30:28 [错误]事件调度程序:错误初始化系统表时发生。 禁用事件调度程序。 970 110814 14:30:28 [注] / usr / libexec / mysqld:准备连接。 971版本:'5.1.58'socket:'/var/lib/mysql/mysql.sock'端口:3306源码分配972 110814 14:33:46 [/ usr / libexec / mysqld]:正常关机973
974 110814 14:33:46 InnoDB:开始关机… 975 110814 14:33:48 InnoDB:关机完成; 日志序号0 47678
976 110814 14:33:48 [注] / usr / libexec / mysqld:关机完成
977 978 110814 14:33:48 mysqld_safe mysqld从pid文件/var/run/mysqld/mysqld.pid结束

作为linux新手,我不太了解这个错误日志,但它可能对你们中的一些人有意义。

我相信这与设置为某些文件的权限有关,因为我发现许多文件被设置为777.我不太了解,但是我知道这很糟糕。 :)虽然是,我不知道从哪里开始寻找和修复。

这个系统所做的就是CentOS 5.5。

编辑:这终于得到解决。 这是通过将my.cnf中的绑定地址从实际IP更改为127.0.0.1来实现的。 感谢大家的帮助。 此外,这个问题也有重复,因为我不知道它可以从一个论坛移到另一个论坛。 随意删除这一个,或另一个(具有完全相同的标题)。

永远不要 chmod任何文件到777.这意味着每个人都可以写入您的文件。

my.cnf应该具有权限644并由root拥有。 关于错误“Table”mysql.plugin'不存在“ ,就像它说的那样,你应该在$ HOME中创build一个~/.my.cnf文件,如下所示:

 [mysql_upgrade] user = user password = password socket = /path/to/mysql.sock 

并运行mysql_upgrade来解决这个问题。