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

  • A+
所属分类:计算机技术

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

多个库使用通配符授权

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

GRANT SELECT ON `user_%`.* TO 'dev'@'%'

MySQL 授权报错分析

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

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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: