MySQL在Linux上的权限管理怎么做
MySQL在Linux上的权限管理主要涉及用户权限和数据目录权限,具体操作如下:
一、用户权限管理
-
登录MySQL
mysql -u root -p
输入root密码进入MySQL命令行。
-
创建用户
CREATE USER '用户名'@'主机地址' IDENTIFIED BY '密码';
- 例:创建本地用户
test
,密码为123456
:CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';
- 例:创建本地用户
-
授予权限
- 全局权限(影响所有数据库):
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机地址';
- 数据库权限(影响特定数据库):
GRANT SELECT, INSERT, UPDATE ON 数据库名.* TO '用户名'@'主机地址';
- 表权限(影响特定表):
GRANT SELECT, DELETE ON 数据库名.表名 TO '用户名'@'主机地址';
执行后需刷新权限:
FLUSH PRIVILEGES;
- 全局权限(影响所有数据库):
-
修改/撤销权限
- 修改权限:通过
GRANT
或REVOKE
命令重新指定权限。 - 撤销权限:
REVOKE ALL PRIVILEGES ON *.* FROM '用户名'@'主机地址';
- 修改权限:通过
-
验证权限
SHOW GRANTS FOR '用户名'@'主机地址';
二、数据目录权限管理
-
修改目录所有者
sudo chown -R mysql:mysql /var/lib/mysql
将MySQL数据目录(默认
/var/lib/mysql
)的所有者设为mysql
用户和组。 -
设置目录权限
sudo chmod -R 750 /var/lib/mysql
750
权限表示:所有者可读写执行,所属组可读执行,其他用户无权限。
关键注意事项
- 最小权限原则:仅授予用户必要的权限,避免使用
ALL PRIVILEGES
。 - 权限生效:修改用户权限后必须执行
FLUSH PRIVILEGES
。 - 数据安全:确保数据目录权限仅允许
mysql
用户访问,防止未授权操作。
参考来源:[1,2,3,4,5,6,7,8,9,10]
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!