1

Possible Duplicate:
mysql permissions issue - associated with my.cnf

I want to change the max_allowed_packet value, but when setting permissions for my.cnf to 777, I get (as expected):

Warning: World-writable config file '/etc/my.cnf' is ignored

If I set it to anything less than that (600, 644, 700, 775, all tried...), the mysqld service fails to start.

The error log when the service fails to restart is:

110814 14:30:28 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 958 Warning: World-writable config file '/etc/my.cnf' is ignored 959 110814 14:30:28 [Note] Plugin 'ndbcluster' is disabled. 960 /usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist 961 110814 14:30:28 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 962 110814 14:30:28 InnoDB: Initializing buffer pool, size = 8.0M 963 110814 14:30:28 InnoDB: Completed initialization of buffer pool
964 110814 14:30:28 InnoDB: Started; log sequence number 0 47678
965 110814 14:30:28 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist 966 110814 14:30:28 [ERROR] Column count of mysql.db is wrong. Expected 22, found 20. Created with MySQL 50086, now running 50158. Please use mysql_upgrade to fix this error. 967 110814 14:30:28 [ERROR] mysql.user has no Event_priv column at position 29 968 110814 14:30:28 [ERROR] Cannot open mysql.event 969 110814 14:30:28 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. 970 110814 14:30:28 [Note] /usr/libexec/mysqld: ready for connections. 971 Version: '5.1.58' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution 972 110814 14:33:46 [Note] /usr/libexec/mysqld: Normal shutdown 973
974 110814 14:33:46 InnoDB: Starting shutdown... 975 110814 14:33:48 InnoDB: Shutdown completed; log sequence number 0 47678
976 110814 14:33:48 [Note] /usr/libexec/mysqld: Shutdown complete
977 978 110814 14:33:48 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

Being a newbie to linux, I do not understand much of this error log, but it may make sense to some of you.

I believe this has to do with the permissions set to some files, as I found many files being set to 777. I don't know much, but I know that's bad. :) Thing is though, I don't know where to start looking and fixing.

The system all this is done on is CentOS 5.5.

EDIT: This has finally gotten solved. It was achieved by changing the bind-address inside my.cnf from the actual IP to 127.0.0.1 . Thank you all for your help. Also, there is duplicate of this question, because I didn't know it could be moved from one forum to the other. Feel free to delete this one, or the other one (has the exact same title).

0

1 Answer 1

3

Never chmod any files to 777. It means that everyone can write to your file.

my.cnf should has permission 644 and owned by root. About the error "Table 'mysql.plugin' doesn't exist", as it said, you should created a ~/.my.cnf file in $HOME as belows:

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

and run mysql_upgrade to fix that.

Not the answer you're looking for? Browse other questions tagged .