Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.
100913 10:21:29 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
/usr/local/mysql/libexec/mysqld: Table 'mysql.plugin' doesn't exist
100913 10:21:29 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100913 10:21:29 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
100913 10:21:29 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

This is the output from the log-file for mysqld I get when I try to start mysqld with the mysqld_safe command. I tried to run mysql_upgrade to correct the first error, but this command seems to require the server to be started, which is my original problem.

Next, it says that the table mysql.host does not exist. I was unable to figure out what this is caused by.

share|improve this question

1 Answer 1

Have you recently upgraded MySQL? Ideally you'll have an SQL dump you can import from (mysql_upgrade is never very reliable in my experience). Also, is that table innodb? If so, check you haven't configured your my.cnf to skip innodb. If all else fails, backup, reinstall, start MySQL, then pull your files back into /var/lib/mysql whilst it's loaded and try a repair.

share|improve this answer
    
In fact, scratch all the above. That's a mysql inbuilt table - backup /var/lib/mysql, uninstall mysql, reinstall it, then pull your tables back into /var/lib/mysql (apart from the mysql table if it exists). Finally, myisamchk/mysqlcheck and do a mysql dump for safekeeping. –  James Lawrie Sep 13 '10 at 8:53

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.