要开始编辑 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= :
授予权限
现在您已处于 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)
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |