阅读量:2
CentOS系统下MySQL权限设置操作指南
1. 登录MySQL服务器
使用root用户登录MySQL命令行(需输入root密码):
mysql -u root -p
2. 创建新用户
通过CREATE USER语句创建用户,格式为'用户名'@'主机'(localhost仅本地连接,%允许远程连接):
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'your_password';
-- 允许远程连接的示例
CREATE USER 'newuser'@'%' IDENTIFIED BY 'your_password';
3. 授予权限
使用GRANT语句为用户分配权限,常见场景如下:
- 授予所有数据库的所有权限(谨慎使用):
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION; - 授予特定数据库的所有权限:
GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost'; - 授予特定表的特定权限(如SELECT、INSERT、UPDATE):
GRANT SELECT, INSERT, UPDATE ON mydatabase.mytable TO 'newuser'@'localhost'; - WITH GRANT OPTION:允许用户将自己拥有的权限授予其他用户(仅root或管理员用户需要)。
4. 刷新权限
执行FLUSH PRIVILEGES使权限变更立即生效:
FLUSH PRIVILEGES;
5. 查看用户权限
使用SHOW GRANTS语句查看用户的权限详情:
SHOW GRANTS FOR 'newuser'@'localhost';
-- 查看当前登录用户的权限
SHOW GRANTS;
6. 撤销权限
使用REVOKE语句撤销用户的特定权限(格式与GRANT相反):
REVOKE SELECT ON mydatabase.* FROM 'newuser'@'localhost';
-- 撤销所有权限
REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'newuser'@'localhost';
7. 删除用户
使用DROP USER语句删除用户(会同时删除其所有权限):
DROP USER 'newuser'@'localhost';
8. 可选:配置远程访问与安全
- 开放防火墙端口(若需远程连接):
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp sudo firewall-cmd --reload - 配置SELinux(若系统启用SELinux):
sudo setsebool -P mysql_connect_any 1 - 修改root密码(初始安装后建议修改):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_root_password';
注意事项
- 权限设置需遵循最小权限原则,仅授予用户完成任务所需的最小权限(如应用用户仅需
SELECT、INSERT权限,无需DROP权限)。 - 远程连接时,建议限制
host为具体IP地址(如192.168.1.100),而非%,以提高安全性。 - 定期通过
SHOW GRANTS检查用户权限,避免权限泄露。
以上就是关于“CentOS MySQL权限设置怎么操作”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm