ERROR 1146 (42S02): Table ‘mysql.servers’ doesn’t exist
I’m not sure what caused this error in the first place, as it cropped on a server I don’t admin..
ERROR 1146 (42S02): Table ‘mysql.servers’ doesn’t exist
This cropped up on Server version: 5.1.36 MySQL Community Server (GPL) by Remi, installed on CentOS whenever I would execute the ‘FLUSH PRIVILEGES’ command.
The solution? Try this.
USE mysql; CREATE TABLE `servers` ( `Server_name` char(64) NOT NULL, `Host` char(64) NOT NULL, `Db` char(64) NOT NULL, `Username` char(64) NOT NULL, `Password` char(64) NOT NULL, `Port` int(4) DEFAULT NULL, `Socket` char(64) DEFAULT NULL, `Wrapper` char(64) NOT NULL, `Owner` char(64) NOT NULL, PRIMARY KEY (`Server_name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table';
Apparently this issue arises sometimes with an incomplete MySQL upgrade. Beyond just installing new binaries you’ll often need to run scripts/mysql_fix_privilege_tables to ensure the ‘mysql’ database contains all the needed stuff.

Thanks dude… figured that this was the only way. You’re the best.
enknot
22 Sep 09 at 3:43 pm edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>
[...] solution could be the one explained here, but on my servers the before mentioned command worked [...]
upgrading PHP and MySQL on CentOS via the Remi’s repo « /home/kOoLiNuS
12 Nov 09 at 3:52 am edit_comment_link(__('Edit', 'sandbox'), ' ', ''); ?>