MySQL使用常见问题和处理办法

2022-09-07 10:48:18 浏览数 (1)

记录MySQL的常见技术问题和处理办法

多个库使用通配符授权

比如有一批分库,是 user_001,user_002....user_xxx 这样有一定规律的一批库。 如何授权某个账户可以访问,而又避免直接使用*开放所有权限呢? 使用通配符就可以实现,只授权user_开头的库。 语句中的关键点是**反单引号**,不加上这个会报错。

代码语言:javascript复制
GRANT SELECT ON `user_%`.* TO 'dev'@'%'

MySQL 授权报错分析

代码语言:javascript复制
mysql> GRANT SELECT ON *.* TO 'dev_raedonly'@'%';
ERROR 1410 (42000): You are not allowed to create a user with GRANT

查一下资料,就很快能发现,新版的MySQL取消了这个隐式创建账号。相当于之前MySQL可以GRANT时,自动创建账号。现在必须显式创建账号了。 但也并非只有上面这个原因,比如明确的知道账号已经创建过,那就应该检查用户名是否拼写错误。比如上面的raedonly就是拼写错误。

0 人点赞