CentOS7安装MySQL8.0版本详细步骤

CentOS7安装MySQL8.0版本详细步骤

引言

MySQL作为一款开源的关系型数据库管理系统,因其高性能、高可靠性和易用性,被广泛应用于Web开发、企业级应用及大数据处理等领域。MySQL8.0作为最新稳定版本,带来了诸多新特性,如窗口函数、通用表表达式(CTE)、JSON增强功能等,进一步提升了数据库的处理能力和灵活性。本文将详细介绍在CentOS7系统上安装MySQL8.0版本的完整步骤,帮助开发者及企业用户顺利完成部署。

一、环境准备

1.1 系统要求

  • 操作系统:CentOS7(64位)
  • 内存:建议至少2GB,生产环境根据业务需求调整
  • 磁盘空间:安装包约600MB,数据目录根据实际需求分配
  • 依赖包:确保系统已安装wgetlibaio等基础工具

1.2 更新系统

在开始安装前,建议先更新系统至最新状态,以避免潜在的兼容性问题。

  1. sudo yum update -y

二、下载MySQL8.0安装包

2.1 访问MySQL官网

访问MySQL官方下载页面(https://dev.mysql.com/downloads/mysql/),选择“MySQL Community (GPL) Downloads”下的“MySQL Community Server”。

2.2 选择版本与平台

在“Select Operating System”下拉菜单中选择“Red Hat Enterprise Linux / Oracle Linux / CentOS”,在“Select OS Version”中选择与你的CentOS7版本匹配的选项(如CentOS 7 (x86, 64-bit))。

2.3 下载RPM包

点击“Download”按钮,选择“No thanks, just start my download.”直接下载RPM包,或复制下载链接使用wget命令在服务器上下载。

  1. wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-el7-x86_64.tar.gz # 替换xx为实际版本号

三、安装MySQL8.0

3.1 解压安装包

将下载的RPM包解压到指定目录,例如/usr/local/src/

  1. sudo mkdir -p /usr/local/src/mysql
  2. sudo tar -zxvf mysql-8.0.xx-el7-x86_64.tar.gz -C /usr/local/src/mysql --strip-components=1

3.2 安装依赖

确保系统已安装必要的依赖包。

  1. sudo yum install -y libaio numactl

3.3 创建MySQL用户与组

为MySQL服务创建专用用户和组,提高安全性。

  1. sudo groupadd mysql
  2. sudo useradd -r -g mysql -s /bin/false mysql

3.4 初始化数据目录

  1. cd /usr/local/src/mysql
  2. sudo mkdir -p /var/lib/mysql
  3. sudo chown -R mysql:mysql /var/lib/mysql
  4. sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/src/mysql --datadir=/var/lib/mysql

初始化完成后,控制台会输出一个临时root密码,请妥善保存。

3.5 配置MySQL服务

复制MySQL服务配置文件模板到/etc/my.cnf(或自定义路径),并根据需要修改配置。

  1. sudo cp support-files/mysql.server /etc/init.d/mysqld
  2. sudo chmod +x /etc/init.d/mysqld
  3. sudo vi /etc/my.cnf # 根据实际情况配置

示例my.cnf配置片段:

  1. [mysqld]
  2. basedir=/usr/local/src/mysql
  3. datadir=/var/lib/mysql
  4. socket=/tmp/mysql.sock
  5. log-error=/var/log/mysqld.log
  6. pid-file=/var/run/mysqld/mysqld.pid

3.6 启动MySQL服务

  1. sudo service mysqld start
  2. # 或使用systemd(如果支持)
  3. # sudo systemctl enable mysqld
  4. # sudo systemctl start mysqld

3.7 验证安装

检查MySQL服务是否正常运行。

  1. sudo service mysqld status
  2. # 或
  3. # sudo systemctl status mysqld

四、安全设置与初始化

4.1 修改root密码

使用初始化时生成的临时密码登录MySQL,并立即修改。

  1. mysql -u root -p
  2. # 输入临时密码后,执行
  3. ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPassword!';

4.2 运行安全脚本

MySQL提供了mysql_secure_installation脚本,用于加强数据库安全。

  1. sudo /usr/local/src/mysql/bin/mysql_secure_installation

按照提示完成密码强度设置、移除匿名用户、禁止root远程登录等安全操作。

五、配置远程访问(可选)

5.1 创建远程访问用户

  1. CREATE USER 'remote_user'@'%' IDENTIFIED BY 'RemotePassword!';
  2. GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
  3. FLUSH PRIVILEGES;

5.2 修改绑定地址

my.cnf中确保bind-address设置为0.0.0.0或特定IP,允许远程连接。

  1. [mysqld]
  2. bind-address = 0.0.0.0

5.3 开放防火墙端口

  1. sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
  2. sudo firewall-cmd --reload

六、总结与优化建议

6.1 定期备份

设置定期备份策略,使用mysqldump或物理备份工具如Percona XtraBackup。

6.2 监控与性能调优

利用MySQL的performance_schemasys库进行性能监控,根据业务需求调整配置参数。

6.3 安全更新

定期检查MySQL官方安全公告,及时应用安全补丁。

通过以上步骤,你已成功在CentOS7系统上安装并配置了MySQL8.0版本。MySQL8.0的新特性将为你的应用带来更强大的数据处理能力和更高的灵活性。希望本文能为你的数据库部署工作提供有力支持。