在Linux生产环境中部署MySQL 5.7.12是许多开发团队的标准做法。该版本在事务处理和高并发场景下表现稳定。整个安装过程基于命令行完成,不需要图形化界面辅助。按照以下步骤操作,可以快速搭建干净可用的数据库服务。
第一步:清理环境并安装基础依赖
登录服务器后,先检查是否存在旧版MySQL或MariaDB残留。执行rpm -qa查询相关包名,若发现旧版本,使用rpm -e --nodeps强制卸载。删除/var/lib/mysql等遗留数据目录,避免路径冲突。接着安装系统依赖库,执行yum install -y libaio numactl wget tar等命令。这些基础组件能确保后续编译和初始化阶段不会报错。清理完毕后,建议重启一次系统保证内核状态纯净。
第二步:获取安装包并解压至指定路径
通过浏览器或wget命令下载MySQL 5.7.12的通用二进制包。选择linux-glibc2.5-x86_64.tar.gz版本兼容性最佳。下载完成后将文件移动至/usr/local目录。执行tar -zxvf解压命令,释放出一个长名称的安装文件夹。为了方便后续管理,将其重命名为mysql。此时目录结构已就绪,下一步需要规范文件归属。
第三步:创建独立运行账号与目录权限
出于安全规范,数据库不应使用root账户运行。依次执行groupadd mysql和useradd -r -g mysql mysql创建专属用户组与系统账号。在根目录新建data、logs、tmp三个工作目录。将/usr/local/mysql目录的所有权递归赋给mysql用户,命令为chown -R mysql:mysql /usr/local/mysql。同时将新创建的data和logs目录也一并授权。这一步能彻底杜绝后期写入数据时频繁触发权限拒绝异常。
第四步:编写配置文件并完成初始化
在/etc目录下新建my.cnf文件,填入基础运行参数。核心配置包括basedir指向/usr/local/mysql,datadir指向新建的data目录。设置socket通信路径为/tmp/mysql.sock。在客户端与服务段统一指定default-character-set=utf8mb4,确保全量字符集支持。根据服务器内存大小调整innodb_buffer_pool_size。保存文件后,执行mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data。该命令会在data目录下生成系统表空间和随机密码文件,耗时取决于磁盘读写速度。
第五步:注册服务并启动数据库进程
进入mysql/support-files目录,复制mysql.server脚本至/etc/init.d/并重命名为mysqld。赋予脚本可执行权限chmod +x /etc/init.d/mysqld。使用chkconfig --add mysqld将服务加入系统管理列表,并通过chkconfig mysqld on设置开机自启。执行service mysqld start正式拉起进程。输入netstat -tlnp | grep 3306验证端口是否处于监听状态。看到tcp6协议的3306端口即表示启动成功。
第六步:重置登录密码与配置远程访问
由于初始化采用insecure模式,当前root账户无密码保护。直接输入mysql -u root -p回车进入控制台。登录后立即执行ALTER USER 'root'@'localhost' IDENTIFIED BY '设定强密码';更新凭证。紧接着运行FLUSH PRIVILEGES;使策略生效。退出后用新密码重新登录校验。若需允许外部机器连接,需在服务器安全组放行三十三零六端口,并在库内执行GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION;。最后再次刷新生效,即可通过Navicat等工具远程管理。
运行维护与故障排查要点
上线后建议开启慢查询日志记录,便于定位低效SQL。定期检查磁盘inode占用率,避免小文件过多导致写入阻塞。遇到连接拒绝时,优先核对my.cnf中的bind-address是否限制为本地回环。若出现innodb恢复警告,请检查data目录权限是否被意外修改。保持操作系统内核补丁更新,关注官方漏洞通告。按此流程部署的MySQL 5.7.12可满足常规业务负载需求。



