安装前准备与依赖配置
在CentOS系统中通过压缩包方式安装MySQL,能够避开yum或rpm包带来的版本锁定问题,方便后续升级和灵活管理。首先请确认你的服务器系统是CentOS 7或8版本,并具备root权限或sudo权限。打开终端后,建议先执行yum update命令让基础环境保持最新。MySQL解压安装强依赖libaio和net-tools这两个基础库,如果提示找不到相关模块,直接使用yum install libaio net-tools -y进行安装即可。这一步非常关键,很多新手忽略依赖导致后面初始化数据库时报段错误或服务无法拉起。
下载与解压安装包
前往MySQL官网的归档页面或者可靠的国内镜像站下载对应的tar.gz压缩包。目前生产环境主流选择是MySQL 5.7或8.0版本的Linux通用包。下载完成后,将文件上传到服务器的临时目录,例如/tmp/mysql。接着使用tar命令进行解压,命令为tar -zxvf 你的压缩包文件名.tar.gz。解压后会生成一个名为mysql-版本号-linux-x86_64的文件夹。为了方便后续统一维护,建议将其重命名并移动到标准路径下,执行mv命令将文件夹移至/usr/local/mysql。这样整个软件就安静地躺在系统核心目录里了。
创建运行账号与目录权限
MySQL官方强烈不建议直接用root用户运行数据库服务,为了系统安全需要新建一个专属的运行账号。在终端输入useradd -r -s /bin/false mysql来创建无登录权限的系统账号。接着进入刚才移动好的MySQL主目录,执行chown -R mysql:mysql . 把当前目录及其子文件的所有权交给mysql用户。同时需要规划好数据存放路径、日志路径和配置文件路径。通常在/usr/local/mysql下手动创建data、log、tmp三个子文件夹,并将它们的所有权也赋给mysql用户。这一步直接决定了数据库进程能不能顺利读写磁盘文件。
初始化数据库与修改配置
进入/usr/local/mysql/bin目录,找到mysqld可执行文件。执行初始化命令时注意参数差异,如果是MySQL 5.7版本,通常使用./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data。这里加了insecure参数是为了跳过临时密码生成,方便直接设置root密码。如果是MySQL 8.0版本,默认会强制生成随机密码,你可以去掉insecure或者后续再改。初始化成功后,会在data目录下看到一堆ib开头的数据文件。接下来需要在/etc/my.cnf中写入基础配置,指定basedir、datadir、socket路径以及character-set-server=utf8mb4等常用参数,保存退出。
启动服务与设置开机自启
配置文件写好后,就可以尝试启动了。执行./mysqld_safe --user=mysql & 让服务在后台运行。如果终端没有报错且显示Starting mysqld daemon,说明启动成功。此时可以按Ctrl+C中断前台显示,但服务仍在后台驻留。为了让服务器重启后数据库自动拉起,需要将启动脚本复制到systemd目录。复制support-files/mysql.server到/etc/init.d/mysqld,然后执行chmod +x /etc/init.d/mysqld添加执行权限。接着使用systemctl enable mysqld命令注册开机自启。之后就可以用systemctl start mysqld和stop restart来管理服务了。
连接测试与安全加固
服务跑起来后,执行./mysql -u root -p登录客户端。由于之前用了insecure初始化,直接回车就能进命令行界面。进去第一件事就是修改root密码,使用ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';语句完成设置。改完密码记得flush privileges刷新权限。如果需要远程连接,还需要在防火墙放行3306端口,并在MySQL内授权远程访问账号。最后检查一下中文显示是否正常,建个表插入几条带汉字的测试数据,确认utf8mb4编码生效。整套流程走下来,你的MySQL就已经稳稳当当地在CentOS上跑起来了,后续只需关注定期备份和性能监控即可。



