Linux 下如何设置 MySQL 权限

2025-01-15 00:13:17   小编

Linux 下如何设置 MySQL 权限

在 Linux 环境中,合理设置 MySQL 权限对于数据库的安全和正常运行至关重要。以下将详细介绍相关设置方法。

以 root 用户登录 MySQL。在终端输入命令:mysql -u root -p,回车后输入 root 密码即可进入 MySQL 控制台。

一、创建用户并设置权限

如果要创建新用户并分配权限,可使用以下命令。例如,创建一个名为 newuser 的用户,密码为 password,并允许其从本地主机登录:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

接下来为新用户分配权限。若要授予该用户对特定数据库(如 testdb)的所有权限,命令如下:

GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'localhost';

ALL PRIVILEGES 表示所有权限,testdb.*testdb 数据库下的所有表。若只想授予部分权限,如只允许查询,可以使用:

GRANT SELECT ON testdb.* TO 'newuser'@'localhost';

二、修改已有用户权限

若要修改现有用户权限,同样使用 GRANT 命令。比如,给 newuser 添加对 testdb 数据库的插入权限:

GRANT INSERT ON testdb.* TO 'newuser'@'localhost';

如果要撤销用户的某些权限,使用 REVOKE 命令。例如,撤销 newusertestdb 数据库的删除权限:

REVOKE DELETE ON testdb.* FROM 'newuser'@'localhost';

三、刷新权限

在完成权限的创建、修改或撤销操作后,务必执行刷新权限命令,让设置立即生效:

FLUSH PRIVILEGES;

四、查看用户权限

想查看某个用户拥有的权限,可使用 SHOW GRANTS 命令。例如,查看 newuser 的权限:

SHOW GRANTS FOR 'newuser'@'localhost';

五、远程访问权限设置

若要允许用户从远程主机访问 MySQL,需先修改用户权限。比如,允许 newuser 从任意远程主机访问:

GRANT ALL PRIVILEGES ON testdb.* TO 'newuser'@'%' IDENTIFIED BY 'password';

这里的 % 表示任意主机。要确保 MySQL 配置文件(通常是 /etc/mysql/mysql.conf.d/mysqld.cnf)中的 bind-address 配置项设置正确,若要允许远程连接,可将其注释掉或设置为 0.0.0.0。之后重启 MySQL 服务使设置生效。

通过以上步骤,就能在 Linux 系统下灵活、安全地设置 MySQL 用户权限,保障数据库的稳定运行与数据安全。

TAGS: 数据库管理 MySQL安装 MySQL权限 Linux设置

欢迎使用万千站长工具!

Welcome to www.zzTool.com