温馨提示×

Debian MySQL权限设置详解

小樊
35
2025-02-26 03:09:07
栏目: 云计算
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

在Debian系统上设置和管理MySQL权限涉及多个步骤,包括安装MySQL、配置安全设置、创建和管理用户权限等。以下是详细的步骤和说明:

安装MySQL

  1. 更新系统包列表
sudo apt update
  1. 安装MySQL服务器
sudo apt install mysql-server

在安装过程中,系统会提示你设置MySQL的root用户密码,请务必记住该密码,因为后续需要使用。

配置MySQL

  1. 设置root密码
sudo mysql_secure_installation

运行此脚本可以设置或更改root密码、删除匿名用户、禁止root用户远程登录、删除test数据库等,以提高数据库的安全性。

  1. 允许外网访问: 默认情况下,MySQL只允许本地访问。要允许外网访问,需要修改MySQL的配置文件 /etc/mysql/my.cnf
bind_address = 0.0.0.0

修改完成后,重启MySQL服务:

sudo systemctl restart mysql
  1. 加密连接(可选): 如果需要加密连接,可以在配置文件中添加以下行:
ssl=1

然后重启MySQL服务。

管理MySQL用户权限

  1. 创建用户并设置密码
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
  1. 授予用户权限
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

这里的 ALL PRIVILEGES 表示授予所有权限,你也可以根据需要选择特定的权限,如 SELECT, INSERT, UPDATE, DELETE 等。

  1. 刷新权限
FLUSH PRIVILEGES;

这会使更改的权限立即生效。

  1. 查看用户权限
SHOW GRANTS FOR 'username'@'localhost';

这将显示用户所拥有的权限。

  1. 修改用户权限
REVOKE privilege_type ON database_name.table_name FROM 'username'@'localhost';

这将撤销用户的特定权限。

  1. 删除用户
DROP USER 'username'@'localhost';

这将从数据库中删除用户。

安全加固建议

  • 使用SSH隧道代替远程连接:在 /etc/mysql/my.cnf 文件中,将 bind-address 设置为 127.0.0.1,然后重启MySQL服务,以限制MySQL只监听本机地址。
  • 禁止root远程登录:在 mysql_secure_installation 脚本中,选择禁止root用户远程登录。
  • 删除匿名用户:在 mysql_secure_installation 脚本中,选择删除匿名用户。
  • 限制本地文件访问:在 mysql_secure_installation 脚本中,禁用 local-infile 函数,以防止MySQL直接与本地文件系统通信。

通过以上步骤,你可以在Debian系统上成功设置和管理MySQL权限,确保数据库的安全性和可靠性。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:Debian MySQL如何设置用户权限

0