简介:本文详细介绍了在CentOS7系统上安装MySQL8.0版本的完整步骤,涵盖环境准备、依赖安装、MySQL下载与安装、配置与安全设置等关键环节,适合数据库管理员和开发者参考。
在CentOS7上安装MySQL8.0前,需确保系统环境满足以下条件:
cat /etc/redhat-release命令查看版本信息。libaio和numactl库,执行以下命令安装:
sudo yum install -y libaio numactl
对于SELinux,可设置为宽松模式(
sudo systemctl stop firewalld # 临时关闭sudo systemctl disable firewalld # 永久禁用(生产环境建议配置规则)
setenforce 0)或配置策略允许MySQL访问。MySQL官方提供针对不同Linux发行版的RPM包,推荐从官方仓库或镜像站下载:
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
此操作会添加MySQL官方YUM源到系统,后续可通过
sudo rpm -ivh mysql80-community-release-el7-7.noarch.rpm
yum repolist查看包含的仓库。通过YUM直接安装可自动处理依赖关系:
sudo yum clean allsudo yum install -y mysql-community-server
输出应显示
rpm -qi mysql-community-server | grep Version
8.0.x版本号。
sudo systemctl start mysqldsudo systemctl enable mysqld # 设置开机自启
获取临时密码:
MySQL8.0首次启动会生成临时密码,存储在日志文件中:
sudo grep 'temporary password' /var/log/mysqld.log
输出类似:A temporary password is generated for root@localhost: abc123xyz。
运行安全配置向导:
使用临时密码登录并运行mysql_secure_installation:
mysql -u root -p# 输入临时密码后,按提示完成以下操作:- 修改root密码(需满足强度要求,如包含大小写字母、数字和特殊字符)- 移除匿名用户- 禁止root远程登录- 移除测试数据库- 重新加载权限表
生产环境中常需远程管理数据库:
CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPassword123!';GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;
/etc/my.cnf,在[mysqld]段添加:
bind-address = 0.0.0.0 # 允许所有IP连接(生产环境建议指定IP)
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanentsudo firewall-cmd --reload
mysql -u admin -p -h 127.0.0.1
innodb_buffer_pool_size(建议为物理内存的50%-70%):
[mysqld]innodb_buffer_pool_size = 2G
slow_query_log = 1slow_query_log_file = /var/log/mysql/mysql-slow.loglong_query_time = 2
sudo yum install -y epel-releasesudo yum update -y
validate_password插件,可通过以下命令降低策略:
SET GLOBAL validate_password.policy=LOW;SET GLOBAL validate_password.length=4;
sudo journalctl -xe -u mysqld
mysqldump或配置物理备份工具(如Percona XtraBackup)。yum update升级。通过以上步骤,您可在CentOS7上完成MySQL8.0的完整部署。实际生产环境中,建议结合企业安全策略进一步加固配置(如启用SSL连接、审计日志等)。