为何授权不对

前言: 今天帮同事处理了一个关于mysql授权的问题,虽是小事,不过不注意的话,还挺头大的,呵呵。

先对比看看下面2个授权信息之间的区别吧:

GRANT SELECT, DELETE, UPDATE, INSERT ON *.* TO ‘yejr’@’192.168.0.1′ IDENTIFIED BY PASSWORD ‘*1088950C531DC1BE311435F60B57145D8A49019C’

GRANT SELECT, DELETE, UPDATE, INSERT ON `*`.* TO ‘yejr’@’192.168.0.1′ IDENTIFIED BY PASSWORD ‘*1088950C531DC1BE311435F60B57145D8A49019C’

呵呵,看起来都很像,没什么问题吧,实际反映到数据库授权表结果变成了:

GRANT SELECT, DELETE, UPDATE, INSERT ON *.* TO ‘yejr’@’192.168.0.1′ IDENTIFIED BY PASSWORD ‘*1088950C531DC1BE311435F60B57145D8A49019C’

GRANT USAGE ON *.* TO ‘yejr’@’192.168.0.1′ IDENTIFIED BY PASSWORD ‘*1088950C531DC1BE311435F60B57145D8A49019C’
GRANT SELECT, INSERT, UPDATE, DELETE ON `*`.* TO ‘yejr’@’192.168.0.1′

现在看出来区别了吧。

第一条授权信息,允许 yejr@192.168.0.1 对所有数据库&表(*.*)有相关权限;而第二条授权信息则允许 yejr@192.168.0.1 仅仅对数据库 * 下面的表(`*`.*)有相关权限。注意,这里的数据库名 * 可不是代表所有哦,而是具体的名字就叫做 *,也就是说数据库主目录下,会有一个名是 * 的子目录。mysql允许以反引号来把数据库名引用起来,是的可以使用一些比较古怪的字符,例如:*, ‘, $, % 等等。

觉得文章有用?立即: 和朋友一起 共学习 共进步!

猜想失败,您看看下面的文章有用吗?

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>