MySQL 8.0 保姆级教程——第三篇:MySQL 8.0 安全设置

在第一篇我们讲解了MySQL8.0基本使用.这一篇我们主要讲MySQL 8.0 的安全设置。

1 初始安全设置

MySQL 安装完成后,进行一些初始安全设置至关重要,以防止未经授权的访问和潜在的安全风险。本节将介绍如何通过 mysql_secure_installation 脚本和其他手动配置来加强 MySQL 的安全性。

1.1 运行 mysql_secure_installation 脚本

mysql_secure_installation 是一个交互式脚本,用于执行一系列重要的安全设置。强烈建议在 MySQL 安装完成后立即运行此脚本。

在 Linux/macOS 上,通常使用 sudo 运行:

Bash

sudo mysql_secure_installation

在 Windows 上,以管理员身份运行命令提示符或 PowerShell,然后执行:

Bash

"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql_secure_installation.exe"  # 根据你的实际安装路径修改

脚本会提示你进行以下设置:

  1. Validate Password Component: 是否启用密码强度验证组件。如果启用,你需要设置密码策略(LOW、MEDIUM 或 STRONG)。建议启用并选择 MEDIUM 或 STRONG 策略,以强制使用更复杂的密码。
  2. Change the root password: 设置或修改 root 用户的密码。这是最重要的步骤!请务必设置一个强密码并牢记!
  3. Remove anonymous users?: 是否删除匿名用户。建议删除。
  4. Disallow root login remotely?: 是否禁止 root 用户从远程登录。建议禁止。
  5. Remove test database and access to it?: 是否删除测试数据库及其访问权限。建议删除。
  6. Reload privilege tables now?: 是否立即重新加载权限表。选择 Yes。

1.2 手动安全设置(补充 mysql_secure_installation

除了 mysql_secure_installation 脚本,还可以进行一些手动配置来进一步增强安全性。

  1. 限制 root 用户的访问来源:

    即使禁止了 root 用户远程登录,也应该限制 root 用户只能从本地连接。可以通过修改 MySQL 的用户权限表来实现。

    连接到 MySQL 服务器:

    Bash

    mysql -u root -p
    

    执行以下 SQL 语句:

    SQL

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPassword!'; -- 再次设置root密码,确保密码强度
    FLUSH PRIVILEGES;
    

    检查 root 用户的 host 信息:

    SQL

    SELECT host, user FROM mysql.user WHERE user='root';
    

    确保 root 用户只有 'localhost''127.0.0.1' 的 host。

  2. 创建普通用户进行日常操作:

    不要使用 root 用户进行日常数据库操作。应该创建具有必要权限的普通用户。

    SQL

    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'MyUserPassword!';
    GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost'; -- 授予 mydatabase 数据库的所有权限
    FLUSH PRIVILEGES;
    
  3. 修改 MySQL 监听地址(可选):

    默认情况下,MySQL 监听所有网络接口。如果你的服务器只有内部网络访问需求,可以修改 MySQL 的配置文件 (my.cnfmy.ini),将 bind-address 设置为 127.0.0.1,只允许本地连接。

    Ini, TOML

    [mysqld]
    bind-address = 127.0.0.1
    

    修改后需要重启 MySQL 服务

MySQL 8.0是一款流行的开源关系型数据库管理系统。以下是MySQL 8.0保姆安装教程: **步骤1:下载MySQL** 首先,访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/)下载适合您操作系统的版本。推荐下载二进制安装包,因为包含了所有依赖。 **步骤2:运行安装脚本** 解压下载的文件,进入目录,通常会看到`mysql-community-server-8.0.x.x-linux-gnu.tar.gz`这样的文件。打开终端,输入命令行如下: ```sh sudo sh mysql-community-server-8.0.x.x-linux-gnu/scripts/mysql_install_db --user=root --basedir=([安装路径]) --datadir=([数据路径]) ``` 将 `[安装路径]` 和 `[数据路径]` 替换为实际的安装目录和数据存储位置,比如 `/usr/local/mysql` 和 `/var/lib/mysql`。 **步骤3:配置启动选项** 编辑MySQL的配置文件 `my.cnf` (默认在 `/etc/mysql/my.cnf` 或 `/etc/my.cnf`),根据需要设置监听地址、最大连接数等。例如,添加 `bind-address = 0.0.0.0` 让MySQL监听所有IP。 **步骤4:启动服务** ```sh sudo systemctl start mysqld ``` 检查是否成功启动: ```sh sudo systemctl status mysqld ``` **步骤5:安全初始化** 首次启动时,MySQL会提示你设置root用户的密码。这是非常重要的一步,务必妥善保管。 **步骤6:创建新用户和服务账户** 如果计划让系统用户定期备份或管理数据库,可以创建新的MySQL用户并给予适当权限。 **步骤7:防火墙设置** 允许外部访问,如果是Linux,可以启用防火墙规则以允许特定端口(默认3306)通信。 **步骤8设置自动启动** 为了每次系统启动时自动运行MySQL,可以使用以下命令: ```sh sudo systemctl enable mysqld ``` **相关问题--:** 1. 如何通过命令行查看MySQL状态? 2. 如何更改MySQL root用户的密码? 3. 安装过程中如何处理错误或问题?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值