在轻量级服务器(例如腾讯云轻量应用服务器、阿里云轻量服务器、或者低配置的VPS)上安装 MySQL 是一个常见需求。下面是一个适用于 Ubuntu 或 CentOS 系统的完整指南。
🧰 一、准备工作
确保你已经:
- 登录到你的轻量服务器(SSH)
- 确保系统已更新
- 有
root权限或sudo权限
🐧 Ubuntu 安装 MySQL
1. 更新软件包列表
sudo apt update
2. 安装 MySQL 服务器
sudo apt install mysql-server -y
3. 启动 MySQL 服务并设置开机启动
sudo systemctl start mysql
sudo systemctl enable mysql
✅ 检查状态:
sudo systemctl status mysql
4. 运行安全初始化(推荐)
sudo mysql_secure_installation
按照提示设置 root 密码,删除匿名用户,禁止远程 root 登录等。
5. 登录 MySQL(无需密码,因为是本地 socket 登录)
mysql -u root
🐑 CentOS 安装 MySQL
CentOS 建议使用 MariaDB(MySQL 的社区分支),如果你坚持要使用 Oracle 官方的 MySQL,请下载 .rpm 包添加仓库。
方法一:安装 MariaDB(推荐)
sudo yum install mariadb-server mariadb -y
启动并启用服务:
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行安全初始化:
sudo mysql_secure_installation
登录数据库:
mysql -u root
🔐 设置远程访问(可选)
默认情况下,MySQL 只允许本地访问。如果你需要从外部连接:
1. 修改配置文件
Ubuntu:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
CentOS:
sudo nano /etc/my.cnf
找到 bind-address 行,修改为:
bind-address = 0.0.0.0
保存退出后重启 MySQL:
sudo systemctl restart mysql
2. 创建远程访问用户(在 MySQL 中执行)
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3. 配置防火墙(开放 3306 端口)
Ubuntu (UFW):
sudo ufw allow 3306/tcp
CentOS (firewalld):
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
4. 轻量服务器控制台也要放行端口
比如在腾讯云/阿里云后台的安全组中,添加入站规则允许 3306 端口。
📦 常见问题
| 问题 | 解决方案 |
|---|---|
| 无法远程连接 | 检查 bind-address、防火墙、安全组 |
| 安装后无法登录 | 使用 sudo mysql -u root 本地登录,不要加 -p |
| 内存不足 | 可以使用 mysql-tuning-primer 或 mysqltuner 工具优化配置 |
🛠️ 小贴士
- 轻量服务器内存小(如 1G),建议使用小型配置文件优化 MySQL。
- 可以使用 MySQL Tuner 自动分析性能。
如果你告诉我你的操作系统版本和服务器配置(如 CPU、内存),我可以提供更详细的优化建议!
是否需要我帮你写一个自动安装脚本?
秒懂云