MySQL 8.0.46 在线安装操作步骤

发布时间:2026/7/11 15:12:16

MySQL 8.0.46 在线安装操作步骤 MySQL 8.0.46 在线安装操作步骤本文章主要说明了Rocky Linux 9.6系统在具备互联网连接的情况下在线安装MySQL 8.0.46的主要步骤和可能遇到的问题。按步骤安装完毕后MySQL数据库配置为大小写不敏感允许数据库的root用户远程登录数据库。适用系统Rocky Linux 9.6MySQL 版本8.0.46目录环境准备安装 MySQL 8.0.46配置 MySQL启动 MySQL 并获取临时密码修改 root 密码配置大小写不敏感配置字符集与存储引擎配置远程访问关闭防火墙关闭 SELinux验证清单1. 环境准备1.1 检查系统版本cat/etc/os-release预期输出包含Rocky Linux 9.61.2 更新系统包dnf update-y2. 安装 MySQL 8.0.462.1 下载 MySQL 8.0.46 RPM 包cd/tmpwgethttps://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm2.2 安装 MySQL 仓库rpm-ivhmysql80-community-release-el9-1.noarch.rpm2.3 安装 MySQL Serverdnfinstall-ymysql-server2.4 验证安装版本mysqld--version预期输出mysqld Ver 8.0.46 for Linux on x86_643. 配置 MySQL3.1 编辑配置文件vi/etc/my.cnf3.2 添加以下配置在[mysqld]段落下添加[mysqld] # 大小写不敏感必须在初始化前配置 lower_case_table_names1 # 字符集配置 character-set-serverutf8mb4 collation-serverutf8mb4_unicode_ci # 默认存储引擎 default-storage-engineINNODB # 绑定地址允许远程连接 bind-address0.0.0.0⚠️重要lower_case_table_names1必须在 MySQL 初始化之前配置否则需要重新初始化数据目录。4. 启动 MySQL 并获取临时密码4.1 启动 MySQL 服务systemctl start mysqld4.2 设置开机自启systemctlenablemysqld4.3 查看服务状态systemctl status mysqld --no-pager|cat4.4 获取临时密码greptemporary password/var/log/mysqld.log输出示例[Note] A temporary password is generated for rootlocalhost: o.t-du2M1AB 记录此临时密码下一步需要使用。5. 修改 root 密码5.1 使用临时密码登录 MySQLmysql-uroot-p输入上一步获取的临时密码。5.2 修改 root 密码ALTERUSERrootlocalhostIDENTIFIEDBYRoot2026!;FLUSHPRIVILEGES;⚠️ 密码要求至少 8 位包含大小写字母、数字和特殊字符。5.3 验证新密码mysql-uroot-pRoot2026!-eSELECT Password changed successfully! AS status;6. 配置大小写不敏感6.1 确认配置文件greplower_case_table_names/etc/my.cnf预期输出lower_case_table_names16.2 验证是否生效mysql-uroot-pRoot2026!-eSHOW VARIABLES LIKE lower_case_table_names;预期输出------------------------------- | Variable_name | Value | ------------------------------- | lower_case_table_names | 1 | -------------------------------7. 配置字符集与存储引擎7.1 验证字符集配置mysql-uroot-pRoot2026!-eSHOW VARIABLES LIKE character_set_server; SHOW VARIABLES LIKE collation_server;预期输出------------------------------------------ | Variable_name | Value | ------------------------------------------ | character_set_server | utf8mb4 | | collation_server | utf8mb4_unicode_ci | ------------------------------------------7.2 验证存储引擎mysql-uroot-pRoot2026!-eSHOW VARIABLES LIKE default_storage_engine;预期输出-------------------------------- | Variable_name | Value | -------------------------------- | default_storage_engine | InnoDB | --------------------------------8. 配置远程访问8.1 创建远程访问用户mysql-uroot-pRoot2026!SQLEOF CREATE USER root% IDENTIFIED BY Root2026!; GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION; FLUSH PRIVILEGES; SQLEOF8.2 验证远程用户mysql-uroot-pRoot2026!-eSELECT user, host FROM mysql.user WHERE userroot;预期输出----------------- | user | host | ----------------- | root | % | | root | localhost | -----------------8.3 验证远程用户权限mysql-uroot-pRoot2026!-eSHOW GRANTS FOR root%;预期输出包含GRANT ALL PRIVILEGES ON *.* TO root% WITH GRANT OPTION9. 关闭防火墙9.1 停止 firewalldsystemctl stop firewalld9.2 禁用开机自启systemctl disable firewalld9.3 验证防火墙状态systemctl status firewalld --no-pager|cat预期输出Active: inactive (dead)⚠️安全提醒生产环境建议仅开放 3306 端口而非完全关闭防火墙systemctl start firewalld systemctlenablefirewalld firewall-cmd --add-port3306/tcp--permanentfirewall-cmd--reload10. 关闭 SELinux10.1 查看当前状态getenforce10.2 永久关闭 SELinuxsed-is/^SELINUXenforcing/SELINUXdisabled//etc/selinux/configsed-is/^SELINUXpermissive/SELINUXdisabled//etc/selinux/config10.3 立即生效无需重启setenforce010.4 验证配置getenforcegrep^SELINUX/etc/selinux/config预期输出Permissive SELINUXdisabled 当前运行模式为Permissive仅记录不拦截重启后将变为Disabled完全关闭。11. 验证清单完成所有步骤后请逐项验证序号验证项命令预期结果1MySQL 服务状态systemctl status mysqldactive (running)2开机自启systemctl is-enabled mysqldenabled3版本号mysqld --version8.0.464本地登录mysql -uroot -pRoot2026! -e SELECT 1;成功5大小写不敏感SHOW VARIABLES LIKE lower_case_table_names;16字符集SHOW VARIABLES LIKE character_set_server;utf8mb47存储引擎SHOW VARIABLES LIKE default_storage_engine;InnoDB8远程用户SELECT user, host FROM mysql.user WHERE userroot;root% 存在9防火墙systemctl status firewalldinactive10SELinuxgetenforcePermissive 或 Disabled远程连接测试从其他机器执行mysql-h服务器IP地址-uroot-pRoot2026!附录关键信息速查项目值MySQL 版本8.0.46配置文件/etc/my.cnf数据目录/var/lib/mysql日志文件/var/log/mysqld.logroot 密码Root2026!远程用户root%字符集utf8mb4排序规则utf8mb4_unicode_ci存储引擎InnoDB大小写不敏感 (lower_case_table_names1)防火墙已关闭SELinux已关闭附录常见问题Q1: 忘记 root 密码怎么办# 1. 停止 MySQLsystemctl stop mysqld# 2. 跳过权限验证启动mysqld --skip-grant-tables--usermysql# 3. 无密码登录并修改密码mysql-urootALTERUSERrootlocalhostIDENTIFIED BY新密码;FLUSH PRIVILEGES;# 4. 重启 MySQLsystemctl restart mysqldQ2: lower_case_table_names 修改后不生效该参数必须在 MySQL 初始化之前配置。如果已经初始化需要systemctl stop mysqldrm-rf/var/lib/mysql/* mysqld--initialize--usermysql --lower-case-table-names1systemctl start mysqldQ3: 远程连接被拒绝检查以下项目防火墙是否已关闭或开放 3306 端口SELinux 是否已关闭bind-address是否为0.0.0.0或*远程用户root%是否已创建

相关新闻