跳到内容
[广告]欧美亚马逊SSN账号、炮灰号开售 ×

centos mysql8权限如何划分


推荐帖

在 CentOS 上配置 MySQL 8 的权限划分,通常涉及以下几个步骤:

1. 安装 MySQL 8

首先,确保你已经安装了 MySQL 8。如果没有安装,可以使用以下命令进行安装:

sudo yum install -y mariadb-server mariadb

2. 初始化 MySQL

启动 MySQL 服务并初始化:

sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

mysql_secure_installation 过程中,按照提示设置 root 密码、删除匿名用户、禁止远程 root 登录等。

3. 创建数据库和用户

创建一个新的数据库和用户,并分配相应的权限。例如,创建一个名为 mydatabase 的数据库和一个名为 myuser 的用户,该用户只能从本地访问 mydatabase 数据库:

CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

4. 配置 MySQL 权限

MySQL 8 引入了基于角色的访问控制(RBAC),可以更细粒度地管理用户权限。以下是一些常见的角色和权限:

4.1 用户角色

  • mysql.sys:系统管理员角色,拥有所有权限。
  • mysql.db:数据库管理员角色,拥有对特定数据库的所有权限。
  • mysql.user:普通用户角色,拥有对特定数据库的读写权限。
  • mysql.role:角色管理员角色,可以创建和管理角色。

4.2 权限分配

例如,如果你想给一个用户分配只读权限,可以使用以下命令:

GRANT SELECT ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;

如果你想创建一个新的角色并分配权限,可以使用以下命令:

CREATE ROLE 'readonly_user'@'localhost' WITH LOGIN PASSWORD 'readonlypassword' REPLICATION SLAVE;
GRANT SELECT ON mydatabase.* TO 'readonly_user'@'localhost';
FLUSH PRIVILEGES;

5. 配置防火墙

确保防火墙允许 MySQL 的连接。可以使用以下命令开放 MySQL 默认端口(3306):

sudo firewall-cmd --permanent --add-service=mysql
sudo firewall-cmd --reload

6. 测试连接

最后,测试用户是否可以成功连接到数据库:

mysql -u myuser -p -h localhost -D mydatabase

输入密码后,如果能够成功连接并进入 MySQL 命令行,说明权限配置正确。

通过以上步骤,你可以在 CentOS 上配置 MySQL 8 的权限划分。根据实际需求,你可以进一步调整和细化权限设置。

评论链接
在其他网站上分享

创建账户或登录以发表评论

您需要成为会员才能发表评论

创建一个帐户

在我们的社区注册一个新账户。很简单!

注册新账户

登入

已有账户?在此登录

立即登录
  • 告诉你朋友

    喜欢 西塞网络科技?告诉朋友!
×
×
  • 创建新的...

重要信息

我们在您的设备上放置了 cookies,以帮助改善本网站。您可以调整您的 cookie 设置,否则我们会假定您可以继续

版权所有 © 2018-2025 西塞网络科技
粤公网安备44200002444913号