在Linux服务器上搭建Web项目时,Ubuntu搭配MySQL是最常见的组合。很多新手在终端里敲命令容易卡壳,今天把完整流程拆解开,跟着步骤走就能一次跑通。整个过程不需要复杂的环境依赖,官方源直接安装即可,适合个人开发者和小团队快速部署。
更新软件源并安装服务端
打开终端后,先执行sudo apt update刷新本地软件索引,确保下载的是最新稳定版。接着输入sudo apt install mysql-server -y一键安装。等待进度条走完,后台会自动完成初始化并启动服务。此时不用手动干预,守护进程已经就绪。如果网络较慢导致下载卡顿,可以切换阿里云或清华源的镜像路径,速度会明显提升。
安全初始化设置
刚装好的MySQL默认存在空密码账户和内置测试库,直接上线有安全隐患。运行sudo mysql_secure_installation脚本,按屏幕提示逐步操作。第一项询问是否启用密码强度验证插件,选Y开启更严格的策略。接下来设置root用户的强密码,务必记录到密码管理器中。随后一路回车确认移除匿名账户、禁止root远程直连、删除测试数据库并刷新权限表。这一步做完,基础攻击面就大幅收窄了。
检查运行状态与开机自启
安装完成后,用systemctl status mysql查看服务是否正常。如果显示active running且带绿色标识,说明一切顺利。Ubuntu默认会把MySQL加入开机自启列表,重启云服务器后无需再次手动拉起。可以通过sudo systemctl enable mysql命令二次确认自启开关已打开。日常运维中,可以用systemctl restart mysql平滑重启服务,避免频繁关闭再打开导致的端口占用冲突。
开启远程访问与账号管理
开发或部署时经常需要从本机连接服务器上的数据库,默认配置是锁死本地回环地址的。用sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf打开主配置文件,找到bind-address这一行,把默认的127.0.0.1改成0.0.0.0保存退出。重启服务让配置生效。接着进入数据库命令行,输入sudo mysql登录。创建专门用于远程连接的账号,执行CREATE USER 'appuser'@'%' IDENTIFIED BY 'StrongPass123!';然后给权限GRANT ALL PRIVILEGES ON project_db.* TO 'appuser'@'%';最后FLUSH PRIVILEGES;刷新生效。别忘了在服务器防火墙放行端口,执行sudo ufw allow 3306/tcp即可。如果用的是腾讯云或阿里云,记得去控制台安全组里同样添加TCP 3306入站规则,否则外网根本通不了。
字符集配置与连通性测试
中文项目强烈建议统一字符集,避免乱码问题。在mysqld.cnf的[mysqld]下方新增character-set-server=utf8mb4和collation-server=utf8mb4_unicode_ci两行,重启服务后生效。用本地Navicat或DBeaver填上服务器IP、端口和新创建的账号密码进行连接测试。如果提示超时,多半是云厂商的安全组没开端口,去控制台补上规则就行。如果遇到Access denied,通常是密码策略或主机白名单问题,重新核对授权语句中的用户和主机匹配项。初次连接建议先用命令行客户端mysql -h 服务器IP -P 3306 -u appuser -p测试,排除图形化工具的干扰。
日常维护与排错指南
整个流程走下来,一个稳定可用的MySQL环境就搭建好了。后续可以根据项目流量调整innodb_buffer_pool_size等核心参数。保持定期备份的习惯,用mysqldump导出关键表数据。遇到报错先看错误日志/var/log/mysql/error.log,大部分异常都能在里面找到线索。掌握这套基础操作,日常运维就不会手忙脚乱,也能快速应对生产环境的突发状况。



