На Cenos 5 работает mysql-5.1.58. При попытке дать команду "flush privileges" вылезала следующая ошибка:
mysql> flush privileges;
ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
В базе "mysql" не было таблицы "servers".
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| func |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| proc |
| procs_priv |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
17 rows in set (0.01 sec)
mysql> flush privileges;
ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
В базе "mysql" не было таблицы "servers".
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| func |
| help_category |
| help_keyword |
| help_relation |
| help_topic |
| host |
| proc |
| procs_priv |
| tables_priv |
| time_zone |
| time_zone_leap_second |
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
17 rows in set (0.01 sec)
На других серверах с более поздней версией таблица "servers" была.
Для решения проблемы надо создать требуемую таблицу.
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';
Query OK, 0 rows affected (0.02 sec)
##В последней строчке должны стоять одинарные кавычки, а не апостроф как выше.
После добавления таблицы все стало хорошо.
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
---
При написании заметки использовались материалы:
http://linux-lab.ru/oshibka-error-1146-42s02-table-mysql-servers-doesnt-exist/
https://rajesh9333.wordpress.com/2012/08/25/flush-privileges-error-in-mysql/
Комментариев нет:
Отправить комментарий