MySQL 5.7 的免安装版其实就是官方提供的压缩包版本,适合不想被 yum 或 apt 默认源捆绑的老版本依赖库折腾的用户。手动解压配置虽然步骤多一点,但路径灵活,卸载干净,非常适合生产环境和开发者本地测试。下面直接上实操步骤,全程基于 CentOS 7 或 Ubuntu 20.04 通用逻辑,照着做就能跑起来。
第一步:上传压缩包与解压部署
去官网下载 mysql-5.7.x-linux-glibc2.12-x86_64.tar.gz,用 scp 或者 WinSCP 丢到服务器的 /opt 目录下。然后执行 tar -zxvf 命令解压。解压完你会看到一个带版本号的大文件夹,把它重命名为 mysql,方便后续管理。接着创建两个子目录,一个是 data 存放数据库文件,一个是 logs 存放运行日志。最后把整个 mysql 目录的属主和属组都改成 mysql:mysql,避免后续写入权限报错。
第二步:配置环境变量与系统依赖
Linux 运行 MySQL 必须有个专门的管理员账号。执行 groupadd mysql 和 useradd -r -g mysql mysql 建组建用户。环境变量这一步很关键,编辑 /etc/profile 文件,在末尾加上 export PATH=$PATH:/opt/mysql/bin,保存后执行 source /etc/profile 让配置立刻生效。这样你在任何目录下都能直接敲 mysql 命令。如果初始化时报找不到 libaio 之类的错,说明系统缺底层库,CentOS 补一下 yum install libaio,Ubuntu 用 apt install libaio1 即可。
第三步:初始化数据库实例
这是最容易卡壳的一步。切换到 mysql 用户的 bin 目录,执行 mysqld --initialize --user=mysql --datadir=/opt/mysql/data --basedir=/opt/mysql。注意看终端最后几行,会自动生成一个临时 root 密码,一定要复制下来备用。初始化成功后,data 目录里会多出几十个.ibd 文件,这就是你的初始数据字典。千万不要随意删改 data 目录里的内容,否则会导致实例无法启动。
第四步:编写配置文件并启动服务
很多新手以为直接 start 就能跑,其实不配参数很容易起不来。在 /etc/my.cnf 里写上基础配置,指定 basedir 和 datadir,设置字符集为 utf8mb4,绑定地址设为 0.0.0.0 方便远程连接。写好之后用 systemctl enable mysqld 注册开机自启,再用 systemctl start mysqld 启动。查状态 systemctl status mysqld 如果是 active (running) 就说明成功了。如果启动失败,优先去 logs 目录查看错误日志,里面会有明确的报错原因。
第五步:登录修改密码与远程访问
用刚才拿到的临时密码执行 mysql -uroot -p。进去第一件事就是改密码,执行 alter user 'root'@'localhost' identified by '你的新密码';。别忘了刷新权限 flush privileges;。现在你可以用命令行或者可视化工具连上了。如果远程连不上,记得去云服务器控制台放行 3306 端口,并且检查系统防火墙是否开放了该端口。免安装版的优势在于你完全掌控数据目录和日志位置,后期扩容或者迁移直接拷贝 data 文件夹就行。保持定期备份习惯,生产环境建议搭配自动脚本,别光靠手动操作过日子。