【问题标题】:Create new Mysql user which can be accessed from any end point创建可以从任何端点访问的新Mysql用户
【发布时间】:2014-04-22 14:32:55
【问题描述】:

我需要在 Mysql 数据库上创建新用户。 用户应该可以从任何端点访问并拥有所有权限。

其实我的mysql.user表中的host列是什么意思我看不懂。

我需要为此编写哪个 sql 语句?

谢谢!!

【问题讨论】:

标签: mysql sql


【解决方案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 之类的工具来简化此任务。

希望这会有所帮助。

【讨论】:

  • 通常在 /etc/mysql 中
  • 在那里找不到.. 其他地方?
  • find / -name my.cnf ..或试试 my.ini
  • @RoeyGolzarpoor 您使用的是哪个发行版?你是从发行包安装程序(apt/emerge/..)还是从源安装 mysql?
  • mysql已经安装好了。现在我需要创建可以从任何地方访问他的新用户。不就是一个简单的sql语句吗?
猜你喜欢
  • 2016-03-14
  • 1970-01-01
  • 2020-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-14
  • 2019-12-30
  • 1970-01-01
相关资源
最近更新 更多