четверг, 11 сентября 2014 г.

Error Table 'mysql.servers' doesn't exist

Обратился клиент с проблемой:
Во время смены пароля для пользователя в ISPmanager:
Ошибка:MySQL error

В логе ISPmanager:
# tail -f /usr/local/ispmgr/var/ispmgr.log
ERROR Exception 9: MySQL error: Table 'mysql.servers' doesn't exist

Стало ясно, что поломалась системная таблица servers, посмотрим рутовый пароль от MySQL:
# grep Password /usr/local/ispmgr/etc/ispmgr.conf



Фиксится очень просто:
Первый вариант (как по мне правильный):
Для MySQL 5.1+:
# mysql_upgrade -T --debug-check -u root -p mysql

Для MySQL ниже 5.1:
# mysql_fix_privilege_tables --user=root --password=Password --verbose

Второй вариант (как по мне не правильный):
# mysql -uroot -p
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’;


Фикс отсюда: http://kb.sp.parallels.com/en/112290

Комментариев нет:

Отправить комментарий