在Linux服务器上部署MySQL 8时,使用官方tar压缩包安装是最灵活且通用的方式。相比yum或apt直接安装,tar包能让你完全掌控安装路径、版本更新以及多实例配置。本教程以CentOS和Ubuntu通用环境为例,详细讲解从下载、解压、初始化到启动的全过程,确保你能在一台空白服务器上独立完成部署。整个过程无需复杂图形界面,纯命令行操作即可高效完成。
准备安装包与系统依赖
首先前往MySQL官网下载页面,选择Linux Generic平台,获取mysql-8.x.x-linux-glibc2.xx-x86_64.tar.xz格式的完整归档文件。将压缩包上传至服务器根目录下的opt文件夹中。接着安装基础运行依赖,执行yum install libaio numactl perl net-tools或者apt install libaio1 libnuma1 perl,这些库文件是MySQL读写磁盘和管理进程的必要组件。确认依赖安装无误后,进入opt目录准备解压。
创建用户与解压文件
出于安全规范,严禁使用root用户直接运行数据库。执行groupadd mysql和useradd -r -g mysql -s /bin/false mysql命令创建专用账户。随后解压安装包,使用tar xf mysql-8.x.x-linux-glibc*.tar.xz -C /usr/local并重命名目录为mysql。接着赋予该账户所有权,执行chown -R mysql:mysql /usr/local/mysql以及chmod 750 /usr/local/mysql,防止普通用户误触核心文件。此时目录结构已经清晰,bin存放可执行文件,include存放头文件,lib存放动态库。
初始化数据库配置
进入/usr/local/mysql/bin目录,执行./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql。此步骤会生成data目录并自动创建系统表空间,终端末尾会打印出一串临时密码,务必截图保存。临时密码仅能登录一次,后续必须立即修改。初始化完成后,手动创建my.cnf配置文件,写入[mysqld]段,指定port=3306、basedir、datadir、socket路径以及log-error位置,建议开启lower_case_table_names=1避免大小写敏感问题,同时设置character-set-server=utf8mb4保证中文兼容。
启动服务与设置开机自启
为了方便管理,将官方提供的mysql.server脚本复制到etc/init.d/或systemd目录。若使用systemd,新建unit文件,设定execstart为mysqld_safe,然后执行systemctl daemon-reload加载配置。通过systemctl start mysqld启动服务,用systemctl status mysqld查看运行状态。确认端口3306已监听后,执行systemctl enable mysqld实现开机自动拉起,避免重启服务器后数据库离线。如果启动报错,优先检查data目录权限及错误日志中的具体堆栈信息。
修改密码与安全设置
使用刚才生成的临时密码执行./mysql -u root -p登录客户端。进入sql命令行后,先执行alter user 'root'@'localhost' identified by '你的新密码';完成身份验证重置。紧接着运行flush privileges;刷新权限表。建议删除匿名账户并限制远程访问,执行drop user ''@'localhost';以及按需配置host字段。最后退出客户端检查配置是否生效。
整个tar包部署流程至此结束。日常维护中请定期备份data目录,注意防火墙放行3306端口,并监控error日志排查异常。保持系统环境纯净可大幅降低故障率,遇到连接拒绝问题时通常源于selinux拦截或bind-address配置,调整后即可恢复正常通信。