在云服务器上搭建MySQL数据库,核心路径是:选择Linux系统(Ubuntu或CentOS)→安装MySQL服务端→配置安全策略→开启远程访问→建立日常备份机制,整个过程约30分钟可完成。下面按实操顺序拆解每个环节,你照着做就能跑起来。
酷番云服务器怎么搭建mysql数据库:完整操作步骤
很多人第一次接触云服务器,最容易卡在“装了MySQL连不上”这一步,这里以Ubuntu 22.04和CentOS Stream 9为例,覆盖简米云、酷番云、华为云等主流平台的通用操作。
第一步:更新系统软件包
登录服务器后,先让系统保持最新状态,Ubuntu系执行:
sudo apt update && sudo apt upgrade -y
CentOS系执行:
sudo dnf update -y
第二步:安装MySQL服务端
Ubuntu 22.04默认仓库自带MySQL 8.0,直接安装:
sudo apt install mysql-server -y
CentOS默认仓库可能没有MySQL,需要先添加官方仓库,比较省事的方式是装MariaDB(兼容MySQL),但既然要求用MySQL,就手动装官方源:
sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm sudo dnf install -y mysql-community-server
安装完成后,启动服务并设为开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld
第三步:获取临时密码并完成初始化
MySQL 8.0首次启动后会自动生成一个临时root密码,查看日志:
sudo grep 'temporary password' /var/log/mysqld.log
Ubuntu系安装后默认用auth_socket认证,可以免密登录:
sudo mysql
进入MySQL命令行后,先改root密码,再调整认证插件(否则后面用工具连不上):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'; FLUSH PRIVILEGES;
CentOS上用临时密码登录后,也要执行同样的修改,注意MySQL 8.0强制密码复杂度,至少8位且含大小写字母、数字和符号。
云服务器搭建mysql数据库的配置要求与安全基线
不少朋友在轻量云服务器上搭MySQL,内存只有1GB,跑起来卡到怀疑人生,这里给你一个参考配置表,结合自己的业务量选:
| 业务场景 | 推荐配置 | 连接数预估 | 说明 |
|---|---|---|---|
| 个人博客/学习 | 2核4GB | 50-100 | 够用,开启swap防OOM |
| 中小型网站 | 4核8GB | 200-300 | 配合Redis缓存更稳 |
| 企业生产环境 | 8核16GB起步 | 500+ | SSD硬盘是刚需 |
行业共识认为,MySQL实例的可用内存至少是缓冲池大小 + 系统开销的1.5倍,生产环境切勿把缓冲池调到物理内存的80%以上。
修改MySQL配置文件
MySQL主配置文件在/etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或/etc/my.cnf(CentOS),最核心的三项:
[mysqld] port = 3306 bind-address = 0.0.0.0 max_connections = 200
bind-address不改成0.0.0,外部工具永远连不上,改完重启服务:
sudo systemctl restart mysqld
防火墙放行3306端口
Ubuntu用ufw:
sudo ufw allow 3306/tcp sudo ufw reload
CentOS用firewalld:
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
给生产环境的建议:不要对全网开放3306,用安全组限制只允许你的办公IP访问,云厂商控制台里的安全组规则比服务器防火墙更优先,两边都要配。
云服务器安装mysql后远程连接不上怎么解决
这是踩坑率最高的问题,常见原因就五个,按顺序排查成功率最高。
root用户不允许远程登录
MySQL的root默认只绑定了localhost,你需要单独创建一个远程用户,而不是直接改root权限:
CREATE USER 'app_user'@'%' IDENTIFIED BY '强密码'; GRANT ALL PRIVILEGES ON . TO 'app_user'@'%'; FLUSH PRIVILEGES;
表示允许任意IP连接,如果你只想让某个IP连,替换成具体IP更安全。
云平台安全组没放行
简米云、酷番云、华为云的安全组默认只放行22端口(SSH),登录云控制台,找到实例所在的安全组,添加入方向规则,协议选TCP,端口填3306,授权对象填你的公网IP(或0.0.0.0/0用于测试)。
MySQL端口被本地网络屏蔽
部分公司或校园网会屏蔽非标准端口,用你自己的电脑测试端口连通性:
telnet 你的服务器公网IP 3306
如果通不了,先排查安全组,再查服务器防火墙,最后看MySQL是否在监听。
错误使用localhost连接
本地连接服务器时,主机名要填服务器公网IP或域名,localhost只会连你本机的MySQL,这个低级错误很多初学者会犯。
密码加密方式不兼容
你本地的Navicat或DBeaver如果连不上并报Authentication plugin 'caching_sha2_password'错误,说明客户端版本太老,要么升级客户端,要么把用户改成mysql_native_password:
ALTER USER 'app_user'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; FLUSH PRIVILEGES;
业内专家指出,MySQL 8.0的默认加密插件是caching_sha2_password,所有2026年后的客户端版本都原生支持,遇到报错优先考虑升级软件而非降级用户认证。
云服务器mysql数据库的日常运维与备份方案
数据库搭好只是开始,日常运维才是重点,下面讲两个必须落地的动作:备份和性能监控。
mysqldump定时备份
每天凌晨3点自动备份,保留7天:
#!/bin/bash BACKUP_DIR="/backup/mysql" DATE=$(date +%Y%m%d) mysqldump -u backup_user -p'密码' --all-databases > $BACKUP_DIR/all_$DATE.sql find $BACKUP_DIR -type f -mtime +7 -delete
配合crontab每天执行:
0 3 /usr/local/bin/mysql_backup.sh
恢复时执行:
mysql -u root -p < all_20260101.sql
开启binlog实现时间点恢复
binlog能让你恢复到任意时间点,误删数据时救命,在配置文件里加:
server-id = 1 log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 7
然后重启,确认开启:
SHOW VARIABLES LIKE 'log_bin';
性能巡检的几条命令
SHOW PROCESSLIST;查看当前所有连接和慢查询SHOW STATUS LIKE 'Threads_connected';当前活跃连接数EXPLAIN SELECT ...检查SQL是否走索引
日常养成看慢查询日志的习惯,在MySQL中执行:
SET GLOBAL slow_query_log = ON; SET GLOBAL long_query_time = 2;
超过2秒的查询都会被记录,这是优化数据库的第一手素材。
云服务器搭建mysql常见问题解答
云服务器上mysql数据库连接数满了怎么处理?
先看当前连接数和最大限制:
SHOW STATUS LIKE 'Threads_connected'; SHOW VARIABLES LIKE 'max_connections';
临时调大:
SET GLOBAL max_connections = 500;
永久生效要改配置文件加max_connections = 500,重启服务,如果频繁触发上限,说明应用层的连接池配置有问题,检查是否释放了连接,生产环境建议用ProxySQL或MySQL Router做连接管理。
轻量云服务器和标准云服务器搭建mysql有什么区别?
轻量云服务器的CPU有性能基线限制,突发流量下可能被限速,适合日均几百PV的小网站,标准云服务器独享CPU资源,能稳定支撑较高并发,如果跑MySQL,预算允许时优先选标准型实例,磁盘选SSD云盘,IOPS比高效云盘高出一大截。
云服务器怎么连接mysql数据库?
命令行连本机执行mysql -u root -p,远程连用mysql -h 服务器公网IP -u app_user -p,图形化工具推荐DBeaver或Navicat,主机填服务器IP,端口3306,用户填创建的远程账号。
最后叮嘱一句:不管你用哪家云厂商,搭建流程都逃不开“安装、配置、加固、备份”这四步,把安全组和密码策略这两个地方盯紧,你的MySQL就能稳稳跑上几年。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/766808.html





