目前生产环境主流服务器操作系统为CentOS 7.x/Stream 9,MySQL主流稳定版本为8.0系列。根据DB-Engines 2024年数据库流行度报告,MySQL全球占比达到43.5%,8.0版本因性能提升30%以上、安全机制增强,已覆盖82%以上的新增生产部署场景。
执行系统基础配置,避免后续部署出现端口、权限异常,依次执行以下指令:
``` 更新系统软件包 yum update -y 临时禁用SELinux,永久生效需重启服务器 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 开放MySQL默认3306端口 firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --reload ```当前主流MySQL部署方式分为三类,适用场景差异明显:
本文采用生产环境最通用的官方YUM源部署MySQL 8.0,所有步骤可直接落地执行。
下载并导入对应CentOS版本的官方源配置包,指令如下:
``` CentOS 7.x 版本 wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm rpm -ivh mysql80-community-release-el7-5.noarch.rpm ```执行安装指令,自动完成依赖下载、文件部署操作:
``` yum install -y mysql-community-server ```安装完成后可执行验证命令,输出包含MySQL 8.0.x版本信息即代表安装成功。
``` rpm -qi mysql-community-server ```MySQL 8.0首次启动会自动生成root用户临时密码,设置开机自启后提取密码记录:
``` systemctl start mysqld systemctl enable mysqld grep 'temporary password' /var/log/mysqld.log ```
输出结果中root@localhost:后的字符串即为临时root密码,请妥善留存。
使用临时密码登录MySQL终端,执行root密码修改操作。MySQL 8.0默认开启密码强度校验,新密码需要包含大小写字母、数字和特殊符号,长度不小于8位。
``` mysql -u root -p 进入终端后执行以下命令修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewStrongPass1!'; ```禁止直接开放root用户远程连接权限,避免暴力破解风险。需要远程访问时,创建专用业务用户并授权,示例操作如下:
``` 创建仅允许访问指定库的远程用户 CREATE USER 'biz_user'@'192.168.%' IDENTIFIED BY 'BizUserStrongPass2!'; GRANT ALL PRIVILEGES ON `biz_database`. TO 'biz_user'@'192.168.%'; FLUSH PRIVILEGES; ```默认配置无法满足生产场景性能需求,需要修改/etc/my.cnf配置文件,根据硬件调整核心参数,参考配置如下:
| 参数名称 | 参考配置值 | 作用说明 |
|---|---|---|
| innodb_buffer_pool_size | 服务器物理内存的50%-70% | 缓存InnoDB数据和索引,是MySQL核心性能参数 |
| max_connections | 1024-8192 | 最大并发连接数,根据业务并发量调整 |
| innodb_log_file_size | 256M-1G | InnoDB重做日志大小,过大延长故障恢复时间,过小增加刷盘频率 |
| character-set-server | utf8mb4 | 默认字符集,支持emoji等特殊字符,适配全场景业务 |
| bind-address | 0.0.0.0 | 允许任意地址连接,若仅本地访问可保留127.0.0.1 |
修改配置后备份原文件,再重启服务生效,指令如下:
``` cp /etc/my.cnf /etc/my.cnf.bak.$(date +%Y%m%d) systemctl restart mysqld ```端口占用排查:执行netstat -tunlp | grep 3306检查端口是否被其他进程占用,更换端口或终止占用进程即可解决。
权限错误排查:MySQL数据目录/var/lib/mysql的属主必须为mysql用户,执行chown -R mysql:mysql /var/lib/mysql即可修复权限异常。
按顺序排查三个核心点:服务器防火墙是否开放3306端口;MySQL用户授权的地址段是否包含客户端IP;my.cnf中bind-address是否绑定为127.0.0.1,修改为0.0.0.0即可。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图