如何给 MySQL 数据库的所有权限(保姆级教程)

要开始编辑 MySQL 中的权限,您必须先登录服务器,然后连接到客户 mysql 端。通常,您需要连接到 root 您的主要、初始“超级用户”帐户,该帐户在整个 MySQL 安装过程中具有完全访问权限。

通常, root 在安装 MySQL 时,会为用户分配一个身份验证密码,但如果不是这种情况,您应该采取措施通过添加 root 密码来提高安全性,可以参考官方文档。

连接到 MySQL 命令行工具


对于此示例,我们假设 root 是主 MySQL 帐户。要开始使用 MySQL 命令行工具 ( mysqlcli),请以用户身份连接到您的服务器 root ,然后发出 mysql 命令:

$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 112813
Server version: 5.5.43-0ubuntu0.14.04.1 (Ubuntu)
[...]
mysql>

如果成功,您将看到一些有关 MySQL 连接的输出并面临提示 mysql 。

注意:如果在连接到之前您无法以 root 用户身份直接连接到服务器 mysql,则可以通过添加标志来指定要连接的用户 --user= :

$ mysql --user=username

授予权限


现在您已处于 mysqlcli 提示符下,您只需发出 GRANT 带有必要选项的命令来应用适当的权限。

权限类型

该 GRANT 命令能够应用各种权限,从对 CREATE 表和数据库、读取或写入的 能力FILES,甚至对 SHUTDOWN 服务器的能力。该命令有各种各样的标志和选项,因此您可能希望 GRANT 通过浏览来熟悉它实际上可以做 什么官方文档

数据库特定权限

在大多数情况下,您将根据 database 帐户应有权访问的特定内容向 MySQL 用户授予权限。例如,常见的做法是, database 服务器上的每个唯一 MySQL 都具有 user 与其相关联的唯一权限,这样只有一个人 user 对另一个人具有身份验证访问权限 database ,反之亦然。

要 GRANT ALL 授予 权限 user,允许该用户完全控制特定的 database,请使用以下语法:

mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

通过该命令,我们告诉 MySQL:

  • GRANT 类型 (因此当然是一切)。注意:PRIVILEGES 大多数 ALL 现代 MySQL 安装不需要可选 PRIVILEGES 关键字。
  • 这些权限适用 database_name 于 该数据库的所有 表,如下图所示 .* 。
  • username 当 username 本地连接 时,这些权限被分配给 ,如 所指定@'localhost'。要指定任何有效主机,请 'localhost' 用 替换'%'

也许您不想为整个数据库提供所有权限,而是希望 tolkien 只让用户能够从数据库 表 中读取数据 ( SELECT)   。这很容易实现,如下所示:authorsbooks

mysql> GRANT ALL PRIVILEGES ON books.authors  TO 'tolkien'@'localhost';

创建另一个超级用户

虽然不是特别安全,但在某些情况下,您可能希望创建另一个“超级用户”,该用户拥有服务器上所有数据库的所有权限。这可以像上面一样执行,但要用 database_name 通配符星号替换:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'tolkien'@'%';

现在 tolkien 具有与默认帐户相同的权限 root ,要小心!

保存更改

FLUSH PRIVILEGES 作为对用户权限进行任何更新后的最后一步,请务必通过从 提示符发出命令来保存更改 mysql :

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chat2tomorrow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值