准备工作与环境说明
在Linux服务器上部署MySQL 5.7.16是许多老项目迁移或特定环境兼容的常见需求。虽然官方已经推出更新的版本,但5.7.16依然稳定且广泛使用。本教程以CentOS 7为例,其他主流发行版操作逻辑基本一致。开始前请确保你拥有root权限或具备sudo权限的账号,并提前准备好安装包。建议通过官网或国内镜像站下载mysql-5.7.16-linux-glibc2.12-x86_64.tar.gz文件,避免网络中断导致文件损坏。下载完成后核对md5值,防止传输过程中出现静默损坏影响后续启动。
第一步:上传与解压安装包
使用scp或SFTP工具将压缩包上传到服务器的usrlocal目录下。进入该目录后执行tar命令进行解压。解压完成后会得到一个名为mysql-5.7.16-linux-glibc2.12-x86_64的文件夹。为了方便后续管理,建议将其重命名为mysql。这一步只是把文件放对位置,数据库还没开始运行。保持目录结构整洁能大幅减少后期维护的麻烦。
cd usrlocal tar zxvf mysql-5.7.16-linux-glibc2.12-x86_64.tar.gz mv mysql-5.7.16-linux-glibc2.12-x86_64 mysql
第二步:创建用户与配置目录
数据库不建议用root账户直接运行,出于安全考虑需要新建专用用户。执行useradd命令创建mysql用户组及用户,并将mysql目录的所有权赋予该用户。接着在mysql目录下手动创建data、log、run三个子目录,分别用于存放数据文件、日志信息和进程pid文件。这些目录需要提前建好,否则初始化时会因为权限不足直接报错退出。
groupadd mysql useradd g mysql s bin bash M mysql mkdir p usrlocalmysqldata usrlocalmysqlog usrlocalmysqlrun chown R mysqlmysql usrlocalmysql
第三步:安装依赖与初始化数据库
MySQL的运行依赖libaio库,如果系统提示找不到相关模块,需要先通过yum安装。安装完成后进入mysql目录下的bin文件夹,执行mysqld命令进行初始化。注意加上basedir、datadir、user等参数指向正确的路径。初始化过程中会生成临时root密码,务必记住终端输出的那一串随机字符,登录时需要用到。此步骤耗时较长,请耐心等待进度条走完。
yum install libaio y cd usrlocalmysqlbin .mysqld initialize user=mysql basedir=usrlocalmysql datadir=usrlocalmysqldata
第四步:配置服务与启动
为了让mysql能像普通服务一样开机自启,需要将支持文件复制到systemd目录。复制my.cnf配置文件到etc下,并根据实际路径修改basedir和datadir的设置。配置无误后,启用mysql服务并检查状态。如果显示active running,说明服务已正常挂载。此时可以通过刚才保存的临时密码尝试首次登录。若启动失败,第一时间查看varlog下的错误日志定位问题。
cp usrlocalmysqlsupportfilesmysqlserver etcinitdsmysql service mysql start chkconfig mysql on vi etcmy.cnf systemctl restart mysqld systemctl status mysqld
第五步:修改密码与远程访问
首次登录成功后系统会强制要求立即修改密码。使用set password命令将默认密码更换为自定义密码。修改完成后,如果需要从外部连接数据库,必须开放防火墙端口并在数据库内授权root或其他账号的远程访问权限。最后刷新权限表使配置生效。完成这些步骤后,navicat或命令行即可正常连接。生产环境建议关闭测试账号并限制ip白名单。
mysqladmin u root p password 新密码 mysql u root p use mysql update user set host percent where user root flush privileges
整个安装过程不算复杂,核心在于路径参数的准确填写和权限的正确分配。遇到卡顿时多查看error.log日志排查。按照上述步骤操作,你的Linux服务器就能顺利跑起MySQL 5.7.16环境了。定期备份数据和更新安全补丁同样是保障业务连续性的关键动作。



