> Hello List,
> mysqld fails to start, and emits the following
> error messages in /var/log/mysqld.log
> 090127 10:00:30 mysqld_safe Starting mysqld daemon with databases from
> /usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
> 090127 10:00:30 [ERROR] Can't open the mysql.plugin table. Please run
> mysql_upgrade to create it.
> 090127 10:00:30 InnoDB: Operating system error number 13 in a file
> InnoDB: The error means mysqld does not have the access rights to
> InnoDB: the directory.
That's most likely to be the real error. Or, at least, the most
> InnoDB: File name ./ibdata1
> InnoDB: File operation call: 'open'.
> InnoDB: Cannot continue operation.
> 090127 10:00:30 mysqld_safe mysqld from pid file
> /var/run/mysqld/mysqld.pid ended
> So, I tried to run mysql_upgrade:
> # mysql_upgrade
> Looking for 'mysql' as: mysql
> Looking for 'mysqlcheck' as: mysqlcheck
> Running 'mysqlcheck'...
> mysqlcheck: Got error: 2002: Can't connect to local MySQL server through
> socket '/var/lib/mysql/mysql.sock' (2) when trying to connect
> FATAL ERROR: Upgrade failed
> So, it seems like a chicken and egg thing???
> Cannot run mysql_upgrade bcause the server is not running.
> Cannot run the server because I must first run mysql_upgrade.
I think you're being misled by the fact that there are two errors: A
missing table and a file system that mysqld doesn't have access to. Fix
the file permissions first, and then try starting mysqld. You'll then be
able to run mysql_upgrade to fix the missing table problem (which is a
warning, not a fatal error, hence why you need to have the server
running to be able to fix it).
http://www.good-stuff.co.uk - Stuff, some of it good