如何给 MySQL 数据库的所有权限(保姆级教程)
创始人
2024-11-04 10:40:01

要开始编辑 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)

相关内容

热门资讯

裸辞做“一人公司”,我后悔了 去年这个时候,一位以色列程序员正在东南亚旅行。他顺手把一个在脑子里转了很久的想法做成了产品,一个让任...
南京建成国内首个Pre-6G试... 4月21日,2026全球6G技术与产业生态大会在南京开幕。全息互动技术展台前,一名远在北京的工作人员...
超梵求职受邀参加“2025抖音... 超梵求职受邀参加“2025抖音巨量引擎成人教育行业生态大会”,探讨分享优质内容传播,服务万千学员。 ...
摩托罗拉Razr 2026(R... IT之家 4 月 22 日消息,摩托罗拉宣布新一代 Razr 折叠手机将于 4 月 29 日在美国发...
库克卸任,特纳斯领航:苹果新纪... 苹果首席执行官蒂姆·库克将卸任,硬件工程主管约翰·特纳斯将接任,苹果公司今天宣布此事。 库克将在夏季...