MySQL用户拥有完全相同的权限,第一个可以连接,另一个不能
我会尽量用几句话来解释这里发生了什么 我在Ubuntu服务器(18.04)版本上创建了一个MySQL 8数据库的干净实例。 数据库工作得非常好,我可以使用SSH从另一台服务器连接本地和远程 记录在案MySQL用户拥有完全相同的权限,第一个可以连接,另一个不能,mysql,database-connection,ubuntu-server,grant,mysql-8.0,Mysql,Database Connection,Ubuntu Server,Grant,Mysql 8.0,我会尽量用几句话来解释这里发生了什么 我在Ubuntu服务器(18.04)版本上创建了一个MySQL 8数据库的干净实例。 数据库工作得非常好,我可以使用SSH从另一台服务器连接本地和远程 记录在案 user@server:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 44 在连接时,我在mysql
user@server:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 44
在连接时,我在mysql数据库上发出以下命令SELECT HOST,USER FROM USER
onmysqldb并获取:
+---------------+------------------+
| HOST | USER |
+---------------+------------------+
| 192.168.0.xxx | phpMyAdmin |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+---------------+------------------+
到目前为止,一切顺利。下一步,我将创建一个特定的用户(例如,我们将其命名为Usr1):
CREATE USER Usr1@'192.168.0.xxx'用mysql\u native\u密码由'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”ou“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 |
+---------------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+------------+--------------+------------------------+----------+------------------------+--------------------------+----------------------------+---------------+-------------+-----------------+----------------------+-----------------------+-------------------------------------------+------------------+-----------------------+-------------------+----------------+------------------+----------------+------------------------+---------------------+--------------------------+-----------------+
从这一点上讲,我的想法已经没有了。
有什么想法吗
提前谢谢 我终于明白了(或者有点类似于理解…)问题是什么。 不管对每个用户发出完全相同的命令,我创建的第一个命令是直接访问安装了MySQL的服务器。另外两个用户是在另一台服务器上创建的,安装了phpMyAdmin和Apache 出于任何未知的原因(至少对我来说),我使用“root”@“IP”创建的用户无法连接到MySQL安装,而我使用“root”@“localhost”创建的用户连接正常。我删除并重新创建了用户,使用“root”@“localhost”帐户,他们能够连接到数据库——尽管mysql.user表上的信息仍然相同
不管怎样,现在我可以使用所有三个帐户进行连接,每个帐户都可以访问特定的数据库,正如我从一开始就打算的那样。我终于理解了(或者有点类似于理解…)问题所在。 不管对每个用户发出完全相同的命令,我创建的第一个命令是直接访问安装了MySQL的服务器。另外两个用户是在另一台服务器上创建的,安装了phpMyAdmin和Apache 出于任何未知的原因(至少对我来说),我使用“root”@“IP”创建的用户无法连接到MySQL安装,而我使用“root”@“localhost”创建的用户连接正常。我删除并重新创建了用户,使用“root”@“localhost”帐户,他们能够连接到数据库——尽管mysql.user表上的信息仍然相同 无论如何,现在我可以使用所有三个帐户进行连接,每个帐户都可以访问特定的数据库,正如我从一开始就打算的那样