CentOS 7 上安装 MySQL 8.0.30:详细步骤
准备阶段
-  下载 MySQL 安装包 
 前往 MySQL Archives,选择适合 CentOS 7 的安装包。
-  关闭防火墙和 SELinux # 临时关闭防火墙 systemctl stop firewalld.service # 永久关闭防火墙 systemctl disable firewalld.service# 查看 SELinux 状态 getenforce # 临时关闭 SELinux setenforce 0 # 永久关闭 SELinux sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
-  卸载 mariadb # 查询安装的 mariadb 包 rpm -qa | grep mariadb # 卸载 mariadb rpm -e --nodeps [package_name]
安装 MySQL
-  上传压缩包至服务器 
 使用 FTP 或rz命令上传压缩包至/opt/8.0.30目录。mkdir -p /opt/8.0.30 # 使用 FTP 或 rz 命令上传
-  解压压缩包 cd /opt/8.0.30 tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
-  安装 RPM 包 rpm -ivh mysql-community-{server,client,common,libs,icu}-*
-  初始化 MySQL mysqld --initialize --user=mysql --lower-case-table-names=1 # 记录生成的随机密码 grep "password" /var/log/mysqld.log
配置 MySQL
-  编辑配置文件 vi /etc/my.cnf # 在 [mysqld] 部分添加: lower-case-table-names=1
-  启动 MySQL 服务 systemctl start mysqld
-  修改 root 密码并配置远程访问 mysql -u root -p # 在 MySQL 命令行中输入: ALTER USER 'root'@'localhost' IDENTIFIED BY 'QWER1234@'; CREATE USER 'root'@'%' IDENTIFIED BY 'QWER1234@'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
进阶配置
-  字符集和时区配置 vi /etc/my.cnf # 在 [client] 和 [mysql] 下增加: default-character-set=utf8 # 在 [mysqld] 下增加: character-set-server=utf8 default-time_zone='+8:00'
-  性能和安全性配置 # 在 [mysqld] 下增加: max_connections=1000 max_connect_errors=1000 default-authentication-plugin=mysql_native_password sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' log_bin_trust_function_creators=1
-  重启 MySQL 服务 systemctl restart mysqld
数据文件位置变更
-  停止 MySQL 服务并创建新的数据目录 service mysqld stop mkdir -p /home/data/mysql
-  修改配置文件 vi /etc/my.cnf # 修改或增加以下行: datadir=/home/data/mysql socket
=/home/data/mysql/mysql.sock
3. **迁移现有数据文件**
```bash
mv /var/lib/mysql/* /home/data/mysql/
-  重新启动 MySQL 服务 service mysqld start
-  确保客户端配置正确 # 修改 [client] 配置 vi /etc/my.cnf [client] socket=/home/data/mysql/mysql.sock
结语
通过以上步骤,您可以在 CentOS 7 上成功安装并配置 MySQL 8.0.30,包括基本安装、初步配置、性能优化和数据迁移。这为您提供了一套全面的 MySQL 安装和配置指南,适合在博客或技术文档中使用。