在云服务器上手动安装和配置 MySQL 数据库是一个常见的运维任务。以下是基于 Ubuntu/Debian 系统的详细步骤(以 Ubuntu 20.04/22.04 为例),适用于阿里云、腾讯云、AWS、华为云等主流云平台。
🛠️ 一、准备工作
1. 登录云服务器
使用 SSH 登录你的云服务器:
ssh root@your_server_ip
# 或者
ssh ubuntu@your_server_ip
2. 更新系统包
sudo apt update && sudo apt upgrade -y
📦 二、安装 MySQL
方法一:安装 MySQL 官方版本(推荐)
1. 添加 MySQL APT 仓库
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb
安装过程中会弹出配置界面,选择
MySQL Server & Cluster,然后确认即可。
2. 更新包列表
sudo apt update
3. 安装 MySQL 服务器
sudo apt install mysql-server -y
安装过程会自动设置服务开机启动。
方法二:使用系统默认仓库(较旧版本)
sudo apt install mysql-server -y
🔐 三、安全初始化配置
运行安全脚本,设置 root 密码、移除匿名用户等:
sudo mysql_secure_installation
按提示操作:
- 设置 root 用户密码(建议强密码)
- 删除匿名用户
- 禁止 root 远程登录(生产环境建议关闭)
- 删除测试数据库
- 重新加载权限表
⚙️ 四、基本配置(可选优化)
1. 编辑 MySQL 配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
常见修改项:
[mysqld]
bind-address = 0.0.0.0 # 允许远程连接(注意安全)
max_connections = 200 # 最大连接数
innodb_buffer_pool_size = 512M # 根据内存调整
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
修改后重启服务:
sudo systemctl restart mysql
🔌 五、允许远程访问(如需)
1. 授权远程访问用户
登录 MySQL:
sudo mysql -u root -p
执行 SQL 命令:
-- 创建新用户并授权(推荐方式)
CREATE USER 'admin'@'%' IDENTIFIED BY 'YourStrongPassword';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
-- 或修改 root 用户允许远程(不推荐用于生产)
UPDATE mysql.user SET host='%' WHERE user='root';
FLUSH PRIVILEGES;
2. 防火墙放行端口
sudo ufw allow 3306/tcp
或使用云平台安全组规则:
- 在控制台添加入站规则:
端口 3306,来源0.0.0.0/0(或指定 IP)
🔍 六、验证安装
1. 检查服务状态
sudo systemctl status mysql
2. 登录测试
mysql -u root -p
3. 查看监听状态
sudo netstat -tulnp | grep 3306
🔄 七、常用命令
| 功能 | 命令 |
|---|---|
| 启动 MySQL | sudo systemctl start mysql |
| 停止 MySQL | sudo systemctl stop mysql |
| 重启 MySQL | sudo systemctl restart mysql |
| 开机自启 | sudo systemctl enable mysql |
| 查看错误日志 | sudo tail -f /var/log/mysql/error.log |
🛡️ 安全建议
- 不要长期使用 root 远程登录
- 使用强密码 + 防火墙限制 IP
- 定期备份数据
- 更新系统和 MySQL 补丁
✅ 总结
通过以上步骤,你已经成功在云服务器上安装并配置了 MySQL 数据库。根据实际需求,可以选择是否开启远程访问,并做好安全加固。
如有需要,还可以配合 phpMyAdmin、宝塔面板等工具进行可视化管理。
如果你使用的是 CentOS/Rocky Linux,可以告诉我,我提供对应的 yum/dnf 安装方法。
CDNK博客