上一篇
系统版本确认
cat /etc/redhat-release
💡 支持CentOS 7.6+/8.x/9.x,需glibc 2.17+环境
卸载残留组件
# 删除MariaDB rpm -e `rpm -qa | grep mariadb` --nodeps # 清除旧版MySQL find / -name mysql | xargs rm -rf
安装核心依赖
yum install -y libaio net-tools perl-Getopt-Long
🔧 解决libaio.so.1
、libnuma.so.1
等依赖缺失问题
下载官方仓库配置
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm rpm -ivh mysql80-community-release-el7-3.noarch.rpm
一键安装服务器
yum install mysql-community-server -y
📦 包含client/libs/server等核心组件
启动服务初始化
systemctl start mysqld systemctl enable mysqld
🔑 获取临时密码:grep 'temporary password' /var/log/mysqld.log
修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword123!';
运行安全脚本
mysql_secure_installation
✅ 执行操作:
配置文件优化
# /etc/my.cnf [mysqld] bind-address = 127.0.0.1 # 禁止外网访问 socket=/var/lib/mysql/mysql.sock validate_password.policy=STRONG # 强密码策略 ssl-ca=/etc/mysql/ca.pem # 启用SSL
内存参数调整
[mysqld] innodb_buffer_pool_size = 8G # 物理内存的70% table_open_cache = 4000
连接数控制
max_connections = 500 wait_timeout = 600
慢查询优化
SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 1; # 记录超过1秒的查询
创建专用用户
CREATE USER 'admin'@'%' IDENTIFIED BY 'RemotePass123!'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'; FLUSH PRIVILEGES;
防火墙放行
firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --reload
SELinux调整
setsebool -P httpd_can_network_connect_db on
物理备份方案
# 使用Percona XtraBackup yum install percona-xtrabackup-80 xtrabackup --backup --target-dir=/backup/base
逻辑备份策略
# 每日全量备份 0 2 * * * mysqldump -u admin -p'Pass123!' --all-databases > /backup/full.sql
恢复演练
mysql -u root -p < /backup/full.sql
日志定位
tail -100 /var/log/mysqld.log
进程监控
top -H -p `pidof mysqld`
连接诊断
SHOW PROCESSLIST;
📅 更新日期:2025-08-20
📌 信息源:MySQL官方文档、Percona技术白皮书、CentOS项目组维护日志
💡 小贴士:每月运行mysqlcheck -A --auto-repair
自动修复表碎片,让数据库保持最佳状态!
本文由 业务大全 于2025-08-20发表在【云服务器提供商】,文中图片由(业务大全)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://cloud.7tqx.com/wenda/675247.html
发表评论