MySQL Пользователи с точно такими же привилегиями, ПЕРВЫЙ может подключиться, а другой - НЕ - PullRequest
1 голос
/ 11 апреля 2020

Я постараюсь в двух словах объяснить, что здесь происходит ...

Я создал чистый экземпляр базы данных MySQL 8 в выпуске Ubuntu Server (18.04). База данных работает отлично, я могу подключиться локально и включить удаленно, используя S SH с другого сервера.

Для записи,

user@server:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 44

и, пока я подключен, я выдаю эту команду SELECT HOST, USER FROM user на mysql дБ и получите:

+---------------+------------------+
| HOST          | USER             |
+---------------+------------------+
| 192.168.0.xxx | phpMyAdmin       |
| localhost     | mysql.infoschema |
| localhost     | mysql.session    |
| localhost     | mysql.sys        |
| localhost     | root             |
+---------------+------------------+

Пока все хорошо. Следующим шагом я создаю специфицированного c пользователя (назовем его, например, Usr1): CREATE USER Usr1@'192.168.0.xxx' IDENTIFIED WITH mysql_native_password BY 'foo' и повторяю ту же самую команду еще три раза, меняя только имя пользователя и пароль, а не что-либо еще.

Когда Я пытаюсь подключиться удаленно (используя хост, который я уже указал при создании пользователя), usr3 может подключиться, но user1 и user2 нет; для этих пользователей я вижу эту ошибку:

user@192.168.0.xxx:~$ mysql -u User1 -h 192.168.0.yyy -p
ERROR 1045 (28000): Access denied for user 'User1'@'192.168.0.xxx' (using password: YES)
user@192.168.0.xxx:~$ mysql -u User2 -h 192.168.0.yyy -p
ERROR 1045 (28000): Access denied for user 'User2'@'192.168.0.xxx' (using password: YES)

И я совершенно уверен, что не пишу пароль неправильно! Используя «User3» я могу подключиться и запросить базу данных, без проблем. Используя «User1» или «User2», я получаю сообщение об ошибке выше.

Затем, несмотря на написание одной и той же точной команды для каждого пользователя, я запрашиваю таблицу mysql .user и сравниваю каждый столбец из результат; как и ожидалось, все столбцы имеют одно и то же значение, кроме пользователя и пароля, конечно. Я показываю результаты здесь, для ясности, но, как я уже упоминал, столбцы точно такие же ...

+---------------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| Host          | User     | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher             | x509_issuer              | x509_subject               | max_questions | max_updates | max_connections | max_user_connections | plugin                | authentication_string                     | password_expired | password_last_changed | password_lifetime | account_locked | Create_role_priv | Drop_role_priv | Password_reuse_history | Password_reuse_time | Password_require_current | User_attributes |
+---------------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
| 192.168.0.xxx | User1    | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | 0x                     | 0x                       | 0x                         |             0 |           0 |               0 |                    0 | mysql_native_password | *                                         | N                | 2020-04-10 19:43:13   |              NULL | N              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
| 192.168.0.xxx | User2    | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | 0x                     | 0x                       | 0x                         |             0 |           0 |               0 |                    0 | mysql_native_password | *                                         | N                | 2020-04-10 19:42:54   |              NULL | N              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
| 192.168.0.xxx | User3    | N           | N           | N           | N           | N           | N         | N           | N             | N            | N         | N          | N               | N          | N          | N            | N          | N                     | N                | N            | N               | N                | N                | N              | N                   | N                  | N                | N          | N            | N                      |          | 0x                     | 0x                       | 0x                         |             0 |           0 |               0 |                    0 | mysql_native_password | *                                         | N                | 2020-04-10 18:34:12   |              NULL | N              | N                | N              |                   NULL |                NULL | NULL                     | NULL            |
+---------------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+

Закончились идеи с этой точки зрения. Есть мысли?

Заранее спасибо!

1 Ответ

0 голосов
/ 14 апреля 2020

Мне наконец удалось понять (или что-то похожее на понимание ...) в чем была проблема. Независимо от того, чтобы вводить одну и ту же команду для каждого пользователя, первая, которую я создал, имеет прямой доступ к серверу, на котором установлен MySQL. Два других пользователя были созданы на другом сервере, на котором установлены phpMyAdmin и Apache.

По любой неизвестной (по крайней мере для меня) причине пользователи, которых я создал с помощью "root" @ "IP" не удалось подключиться к установке MySQL, в то время как пользователь, которого я создал с помощью "root" @ "localhost", подключался нормально. Я удалил и заново создал пользователей, используя учетную запись "root" @ "localhost", и они смогли подключиться к базе данных - несмотря на то, что информация в таблице mysql .user остается прежней.

В любом случае, теперь я могу подключиться, используя все три учетные записи, каждая из которых имеет доступ к указанным c базам данных, как я и предполагал с самого начала.

...