完全访问用户的数据库权限错误



我收到一个错误(在谷歌云中的MySQL 5.7.25-google上,而在本地MySQL 5.7.29上,它工作正常(

谷歌云,我运行(注意:显示表格显示此表格来自同一用户!!(

mysql> show index from customers;
ERROR 1146 (42S02): Table 'authtables.customers' doesn't exist

和本地(相同的用户和密码和设置(,我得到

mysql> SHOW INDEX FROM customers;
+-----------+------------+------------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table     | Non_unique | Key_name                     | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-----------+------------+------------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| customers |          0 | PRIMARY                      |            1 | id          | A         |           2 |     NULL | NULL   |      | BTREE      |         |               |

当然,命令 SHOW TABLES; 在两者上的工作方式相同,并在两者中显示 CUSTOMERS 表!! 呵呵。

我遵循了下面链接中接受的答案,除了将"身份验证服务"用户设置为"身份验证"数据库的 1 个小细节......

Mysql 添加用户以进行远程访问

一个细节是我的授权语句是可身份验证的.*,因此用户可以完全访问身份验证数据库,而没有其他内容。

下一个是我在 GCP 和本地的 show grant 命令,它们会产生完全相同的结果,但如果我错过了拼写错误,这里是 GCP,然后是本地结果

mysql> show grants for 'authservice'@'localhost';
+---------------------------------------------------------------------+
| Grants for authservice@localhost                                    |
+---------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'authservice'@'localhost'                     |
| GRANT ALL PRIVILEGES ON `authtables`.* TO 'authservice'@'localhost' |
+---------------------------------------------------------------------+
2 rows in set (0.08 sec)

本地结果为

mysql> show grants for 'authservice'@'localhost';
+---------------------------------------------------------------------+
| Grants for authservice@localhost                                    |
+---------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'authservice'@'localhost'                     |
| GRANT ALL PRIVILEGES ON `authtables`.* TO 'authservice'@'localhost' |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)

为了完整起见... GCP 版本: 服务器版本: 5.7.25-google-log (Google( 本地版本:服务器版本:5.7.29 MySQL 社区服务器 (GPL(

哇,废话,什么是 5.7.25-谷歌日志...伊克。 我想知道它在这里是否有错误。

另外,为什么格兰特有.当我在 mysql 中查看我的历史进行验证时,我每次都清楚地做了身份验证!!

然后,"authservice"@'%'赠款发生了什么,因为我也没有看到?

任何人都知道如何设置 google cloud mysql,所以我有一个对数据库具有完全访问权限的用户,因此他仅限于该数据库? 这似乎有点像某种谷歌错误,或者我做错了什么?

谢谢 院长

天哪,谷歌的mysql'表名'区分大小写!! 什么鬼。

我必须做

show index from CUSTOMERS;

SHOW INDEX FROM CUSTOMERS;

但这行不通

show index from customers;

哎哟! 发布此内容是为了帮助下一个人,希望。

最新更新