CentOS 手动安装 MySQL:掌握核心运维技能
在 Linux 服务器运维领域,掌握手动安装数据库的能力至关重要,相比一键脚本或面板工具,手动安装 MySQL 让你深入理解组件依赖关系,具备更灵活的定制能力和更强的故障排除基础,本文将以 CentOS 系统为例,详细讲解 MySQL 手动安装的规范流程。
环境准备:构建稳固基础

- 系统更新: 安装前务必执行
sudo yum update -y,确保系统软件包处于最新状态,避免潜在依赖冲突。 - 依赖安装: MySQL 运行需要特定库支持,执行命令:
sudo yum install -y wget libaio numactl openssl-devel
- 清理旧版本: 若系统存在旧版 MySQL 或 MariaDB,请彻底卸载:
sudo yum remove -y mysql* mariadb* sudo rm -rf /var/lib/mysql /etc/my.cnf*
获取官方 MySQL 安装包
- 访问 MySQL 官网: 前往 MySQL Community Server 下载页面。
- 选择版本: 根据需求选择稳定版本(推荐 8.0 或 5.7),找到 "Red Hat Enterprise Linux / Oracle Linux" 对应 RPM Bundle 包。
- 命令行下载(推荐): 复制下载链接,在服务器执行:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx-1.el7.x86_64.rpm-bundle.tar
(替换链接中的版本号)
解压与顺序安装
- 创建安装目录:
sudo mkdir /usr/local/mysql-source sudo tar -xvf mysql-8.0.xx-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql-source
- 关键 RPM 包安装: 进入解压目录,严格按顺序安装:
cd /usr/local/mysql-source sudo rpm -ivh mysql-community-common-*.rpm sudo rpm -ivh mysql-community-client-plugins-*.rpm sudo rpm -ivh mysql-community-libs-*.rpm sudo rpm -ivh mysql-community-client-*.rpm sudo rpm -ivh mysql-community-icu-data-files-*.rpm sudo rpm -ivh mysql-community-server-*.rpm
- 若遇到
libcrypto.so.10缺失,安装compat-openssl10:sudo yum install -y compat-openssl10。
- 若遇到
启动 MySQL 与初始化配置
- 启动服务:
sudo systemctl start mysqld sudo systemctl enable mysqld # 设置开机启动
- 获取初始密码: MySQL 首次启动会生成随机 root 密码:
sudo grep 'temporary password' /var/log/mysqld.log
- 安全初始化: 使用临时密码登录并立即修改:
mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY '你的强密码'; # 需包含大小写字母、数字、特殊字符
- 运行安全脚本(强烈推荐): 执行
mysql_secure_installation,按提示移除测试数据库、禁止远程 root 登录等,大幅提升安全性。
基础配置与管理
- 编辑主配置文件:
sudo vi /etc/my.cnf
根据服务器资源调整关键参数:

[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci max_connections=200 # 根据负载调整 innodb_buffer_pool_size=1G # 建议为物理内存的 50%-70%
保存后重启生效:
sudo systemctl restart mysqld。 - 创建管理用户: 避免直接使用 root:
CREATE USER 'admin'@'localhost' IDENTIFIED BY '强密码'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
- 防火墙开放端口: 若需远程访问(谨慎评估风险):
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload
验证与连接测试
- 检查服务状态:
sudo systemctl status mysqld确认状态为active (running)。 - 本地连接测试:
mysql -u admin -p,输入密码成功进入 MySQL 命令行即表示安装成功。 - (可选) 远程连接测试: 使用 MySQL 客户端工具(如 MySQL Workbench)连接服务器 IP 和端口 3306,使用创建的用户验证。
常见问题定位思路
- 启动失败: 首要查看日志
sudo tail -100 /var/log/mysqld.log,常见原因包括配置文件语法错误、端口冲突、权限不足(检查/var/lib/mysql属主是否为mysql:mysql)。 - 无法连接: 检查防火墙规则、MySQL 用户是否允许远程主机连接(
'user'@'%')、bind-address配置值(默认 127.0.0.1 仅本地)。
写在最后
手动安装 MySQL 绝非多此一举,这个过程让你直面依赖关系、权限配置和安全策略,这些知识在服务器异常或性能优化时至关重要,依赖图形化工具虽方便,却掩盖了底层机制,真正可靠的运维能力,往往建立在对基础组件的深刻理解之上,花时间掌握手动部署,未来面对复杂环境时,你会感谢此刻的选择。
关键提示: 生产环境务必重视定期备份、权限最小化原则和及时的安全补丁更新,MySQL 的
slow_query_log和性能模式(performance_schema)是优化数据库的重要工具,建议部署后即开启监控。

