MySQL Пользователь, указанный в качестве определителя (‘mysql.infoschema’@’localhost’), не существует

#mysql #centos #mysql-8.0 #createuser

#mysql #centos #mysql-8.0 #createuser

Вопрос:

Я попытался перечислить все базы данных, выполнив эту команду

mysql> show databases;

и получил ошибку ниже:-

ОШИБКА 1449 (HY000): пользователь, указанный в качестве определителя (‘mysql.infoschema’@’localhost’), не существует

затем я попытался создать пользователя

mysql> create user 'mysql.infoschema'@'localhost' IDENTIFIED BY 'password';

ошибка ниже:-

ОШИБКА 1726 (HY000): механизм хранения ‘MyISAM’ не поддерживает системные таблицы. [mysql.user]

чтобы решить эту проблему, я запустил mysqld --upgrade=FORCE , но получил ошибку

[ОШИБКА] [MY-010123] [Сервер] Неустранимая ошибка: Пожалуйста, прочтите раздел «Безопасность» руководства, чтобы узнать, как запустить mysqld от имени root!

затем я запускаю mysqld --user=root , это сработало. но нет никакого выходного сообщения

тем не менее, я не смог перечислить все базы данных или подключить сервер mysql с помощью инструмента dbeaver-cs. Все сайты запущены и работают без каких-либо проблем.

версия mysql 8.0.26 для Linux на x86_64 (исходный дистрибутив)

OS- centos

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

1. Это новая установка или вы выполнили миграцию?

2. Я настроил новый сервер и импортировал все базы данных с другого сервера .

3. Проблема может быть в mysql базе данных. Вы не должны использовать какие-либо information_schema, mysql,sys and performance_schema базы данных при резервном копировании базы данных. Если пользователи важны, вы можете вставить его. Возьмите дамп users таблицы mysql базы данных со старого сервера. Затем скопируйте инструкцию insert из дампа use mysql в новую базу данных сервера и вставьте ее. Если новый сервер есть MySQL 8 , а старый есть 5.xx , вы обнаружите недостающие столбцы, просто добавьте их в инструкцию insert как пустые столбцы

4. Я упомянул во втором комментарии, что у вас будут отсутствующие столбцы, чтобы проверить разницу между обеими версиями: db-fiddle.com/f/5dQT5QB5Ytwmujuy7p9EfX/0 Последние 6 столбцов, которые вы должны добавить на вставке. могу ли я удалить таблицу пользователей и вставить? это что-нибудь влияет? не делайте этого, у вас будет та же проблема.

5. Отлично. Сейчас он работает 🙂 ты спас мне жизнь @ErgestBasha

Ответ №1:

Обычно проблема может быть в mysql базе данных при выполнении миграции или резервного копирования. Вы не должны использовать какие-либо information_schema, mysql,sys and performance_schema базы данных при резервном копировании БД.

Если пользователи важны, вы можете вставить его. Возьмите дамп users таблицы mysql базы данных со старого сервера.

Вы найдете, возможно, 4 пользователей по умолчанию на новом сервере, тех пользователей, которых вы должны удалить из инструкции insert. Затем скопируйте инструкцию insert из дампа use mysql в новую базу данных сервера и вставьте ее.

Если новый сервер — MySQL 8 , а более старый — 5.xx, вы обнаружите недостающие столбцы, просто добавьте его в инструкцию insert как пустые столбцы. Последние 6 столбцов, которые вы должны добавить при вставке.

 Mysql 8

mysql> desc user;
 -------------------------- ----------------------------------- ------ ----- ----------------------- ------- 
| Field                    | Type                              | Null | Key | Default               | Extra |
 -------------------------- ----------------------------------- ------ ----- ----------------------- ------- 
| Host                     | char(255)                         | NO   | PRI |                       |       |
| User                     | char(32)                          | NO   | PRI |                       |       |
| Select_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Insert_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Update_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Delete_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Create_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Drop_priv                | enum('N','Y')                     | NO   |     | N                     |       |
| Reload_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Shutdown_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Process_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| File_priv                | enum('N','Y')                     | NO   |     | N                     |       |
| Grant_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| References_priv          | enum('N','Y')                     | NO   |     | N                     |       |
| Index_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| Show_db_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Super_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tmp_table_priv    | enum('N','Y')                     | NO   |     | N                     |       |
| Lock_tables_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Execute_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_slave_priv          | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_client_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Create_view_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Show_view_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Create_routine_priv      | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_routine_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Create_user_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Event_priv               | enum('N','Y')                     | NO   |     | N                     |       |
| Trigger_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tablespace_priv   | enum('N','Y')                     | NO   |     | N                     |       |
| ssl_type                 | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |       |
| ssl_cipher               | blob                              | NO   |     | NULL                  |       |
| x509_issuer              | blob                              | NO   |     | NULL                  |       |
| x509_subject             | blob                              | NO   |     | NULL                  |       |
| max_questions            | int unsigned                      | NO   |     | 0                     |       |
| max_updates              | int unsigned                      | NO   |     | 0                     |       |
| max_connections          | int unsigned                      | NO   |     | 0                     |       |
| max_user_connections     | int unsigned                      | NO   |     | 0                     |       |
| plugin                   | char(64)                          | NO   |     | caching_sha2_password |       |
| authentication_string    | text                              | YES  |     | NULL                  |       |
| password_expired         | enum('N','Y')                     | NO   |     | N                     |       |
| password_last_changed    | timestamp                         | YES  |     | NULL                  |       |
| password_lifetime        | smallint unsigned                 | YES  |     | NULL                  |       |
| account_locked           | enum('N','Y')                     | NO   |     | N                     |       |
| Create_role_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Drop_role_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Password_reuse_history   | smallint unsigned                 | YES  |     | NULL                  |       |
| Password_reuse_time      | smallint unsigned                 | YES  |     | NULL                  |       |
| Password_require_current | enum('N','Y')                     | YES  |     | NULL                  |       |
| User_attributes          | json                              | YES  |     | NULL                  |       |
 -------------------------- ----------------------------------- ------ ----- ----------------------- ------- 




Mysql 5.7

mysql> desc user;
 ------------------------ ----------------------------------- ------ ----- ----------------------- ------- 
| Field                  | Type                              | Null | Key | Default               | Extra |
 ------------------------ ----------------------------------- ------ ----- ----------------------- ------- 
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(32)                          | NO   | PRI |                       |       |
| Select_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Insert_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Update_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Delete_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Create_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Drop_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Reload_priv            | enum('N','Y')                     | NO   |     | N                     |       |
| Shutdown_priv          | enum('N','Y')                     | NO   |     | N                     |       |
| Process_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| File_priv              | enum('N','Y')                     | NO   |     | N                     |       |
| Grant_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| References_priv        | enum('N','Y')                     | NO   |     | N                     |       |
| Index_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Show_db_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Super_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tmp_table_priv  | enum('N','Y')                     | NO   |     | N                     |       |
| Lock_tables_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Execute_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_slave_priv        | enum('N','Y')                     | NO   |     | N                     |       |
| Repl_client_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Create_view_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Show_view_priv         | enum('N','Y')                     | NO   |     | N                     |       |
| Create_routine_priv    | enum('N','Y')                     | NO   |     | N                     |       |
| Alter_routine_priv     | enum('N','Y')                     | NO   |     | N                     |       |
| Create_user_priv       | enum('N','Y')                     | NO   |     | N                     |       |
| Event_priv             | enum('N','Y')                     | NO   |     | N                     |       |
| Trigger_priv           | enum('N','Y')                     | NO   |     | N                     |       |
| Create_tablespace_priv | enum('N','Y')                     | NO   |     | N                     |       |
| ssl_type               | enum('','ANY','X509','SPECIFIED') | NO   |     |                       |       |
| ssl_cipher             | blob                              | NO   |     | NULL                  |       |
| x509_issuer            | blob                              | NO   |     | NULL                  |       |
| x509_subject           | blob                              | NO   |     | NULL                  |       |
| max_questions          | int(11) unsigned                  | NO   |     | 0                     |       |
| max_updates            | int(11) unsigned                  | NO   |     | 0                     |       |
| max_connections        | int(11) unsigned                  | NO   |     | 0                     |       |
| max_user_connections   | int(11) unsigned                  | NO   |     | 0                     |       |
| plugin                 | char(64)                          | NO   |     | mysql_native_password |       |
| authentication_string  | text                              | YES  |     | NULL                  |       |
| password_expired       | enum('N','Y')                     | NO   |     | N                     |       |
| password_last_changed  | timestamp                         | YES  |     | NULL                  |       |
| password_lifetime      | smallint(5) unsigned              | YES  |     | NULL                  |       |
| account_locked         | enum('N','Y')                     | NO   |     | N                     |       |
 ------------------------ ----------------------------------- ------ ----- ----------------------- ------- 
45 rows in set (0.01 sec)
 

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

1. Это решило мою проблему. Спасибо 🙂