【发布时间】:2014-04-22 14:32:55
【问题描述】:
我需要在 Mysql 数据库上创建新用户。 用户应该可以从任何端点访问并拥有所有权限。
其实我的mysql.user表中的host列是什么意思我看不懂。
我需要为此编写哪个 sql 语句?
谢谢!!
【问题讨论】:
我需要在 Mysql 数据库上创建新用户。 用户应该可以从任何端点访问并拥有所有权限。
其实我的mysql.user表中的host列是什么意思我看不懂。
我需要为此编写哪个 sql 语句?
谢谢!!
【问题讨论】:
首先你要检查的是你的mysql服务器是否可以接收到来自外部的连接。所以检查my.ini 配置文件bind-address 属性的值。
通常您必须将其更改为
bind-address=127.0.0.1
到
bind-address=0.0.0.0
然后重启你的服务器。
现在您可以添加您的用户,为主机列指定通配符%。这允许您指定的用户从任何主机获得您设置的权限。
然后你就可以创建你的用户了:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
CREATE USER 'newuser'@'192.168.%.%' IDENTIFIED BY 'password';
以及对模式/表的大特权:
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
您可以授予以下权限,而不是授予所有权限:
CREATE - 允许他们创建新表或数据库
DROP - 允许他们删除表或数据库
DELETE - 允许他们从表中删除行
INSERT - 允许他们将行插入表中
SELECT - 允许他们使用 Select 命令读取数据库
UPDATE - 允许他们更新表行
GRANT OPTION - 允许他们授予或删除其他用户的权限
最后刷新你的权限:FLUSH PRIVILEGES;
GRANT 的一般语法是:
GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;
您可以使用MySql Workbench 之类的工具来简化此任务。
希望这会有所帮助。
【讨论】: