通过命令行向 Linux 上的 MySQL 用户授予权限

上一系列:
MySQL 通过命令行 101:基本数据库交互

预检

  • 这些说明旨在通过命令行在 Linux 上授予 MySQL 用户权限
  • 我将在 Liquid Web Core 托管的 CentOS 6.5 服务器上工作,并以 root 身份登录。

登录到 MySQL

首先,我们将使用以下命令从命令行登录到 MySQL 服务器:

mysql -u root -p

在这种情况下,我使用 -u 标志指定了用户 root,然后使用了 -p 标志,以便 MySQL 提示输入密码。 Enter 您当前的密码以完成登录。

如果您需要更改数据库中的 root(或任何其他)密码,请按照本教程通过命令行更改 MySQL 的密码。

您现在应该在一个与此非常相似的 MySQL 提示符处:

mysql>

如果您尚未创建 MySQL 用户,请参阅我们的创建 MySQL 用户教程。

授予 MySQL 用户权限

授予权限的基本语法如下:

GRANT permission ON database.table TO 'user'@'localhost';

以下是常用权限的简短列表:

  • ALL – 允许完全访问特定数据库。 如果未指定数据库,则允许完全访问整个 MySQL。
  • CREATE – 允许用户创建数据库和表。
  • DELETE – 允许用户从表中删除行。
  • DROP – 允许用户删除数据库和表。
  • EXECUTE – 允许用户执行存储的例程。
  • GRANT OPTION – 允许用户授予或删除另一个用户的权限。
  • INSERT – 允许用户从表中插入行。
  • SELECT – 允许用户从数据库中选择数据。
  • SHOW DATABASES – 允许用户查看所有数据库的列表。
  • UPDATE – 允许用户更新表中的行。

示例#1: 要将所有数据库 * 和所有表 * 的 CREATE 权限授予我们在上一教程中创建的用户 test 用户,请使用以下命令:

GRANT CREATE ON *.* TO 'testuser'@'localhost';

使用星号

in place of the database or table 是一个完全有效的选项,意味着所有数据库或所有表。 示例#2:

GRANT DROP ON tutorial_database.* TO 'testuser'@'localhost';

要授予 testuser 删除特定数据库 tutorial_database 中表的能力,请使用 DROP 权限:

FLUSH PRIVILEGES;

完成权限更改后,最好使用flush命令重新加载所有权限!

查看 MySQL 用户的授权

SHOW GRANTS FOR 'testuser'@'localhost';

在向 MySQL 用户授予权限后,您可能需要仔细检查它们。 使用以下命令检查 testuser 的授权:

托管中最有帮助的人™ Cloud我们以成为 Hosting™ 中最有帮助的人而自豪! 我们的支持人员随时可以协助任何专门的,

, 或 VPS 服务器一年 365 天、一周 7 天、一天 24 小时不间断运行。 我们可以通过我们的票务系统 [email protected]、电话(800-580-4986)或通过 在线聊天

无论您喜欢哪种方法。 我们为您努力工作,以便您可以放松。