我需要在我的Mysql数据库上创建新用户。 用户应该从任何端点访问并拥有所有权限。
实际上,我无法理解mysql.user表中主机列的含义。
我需要为此编写哪个sql语句?
谢谢!
答案 0 :(得分:1)
您必须检查的第一件事是您的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之类的工具来简化此任务。
希望这有帮助。