在京东云轻量应用服务器(Lightweight Application Server)上安装 MySQL,通常有两种主要方式:
- 使用镜像一键部署(最简单、推荐新手):京东云官方提供包含 MySQL 的预装镜像。
- 手动安装(适合需要特定版本或自定义配置的用户):通过命令行安装。
以下是这两种方式的详细操作步骤:
方法一:使用官方镜像一键部署(推荐)
这是最快的方式,无需手动下载和配置依赖包。
-
创建新实例(如果已有实例可跳过此步):
- 登录 京东云控制台。
- 进入“轻量应用服务器” -> “创建”。
- 在 “镜像选择” 环节,点击 “公共镜像” 标签页。
- 在搜索框输入
MySQL或数据库。 - 你会看到类似 "Ubuntu 20.04/22.04 + MySQL" 或 "CentOS 8 + MySQL" 的镜像。选择一个符合你操作系统需求的镜像。
- 完成后续的配置(带宽、密码设置等)并启动服务器。
-
重置密码(重要):
- 使用这种镜像创建的服务器,首次启动后,MySQL 的 root 密码通常是随机生成的。
- 在控制台找到该实例,点击 “更多” -> “重置密码”(或者查看实例详情页的“初始密码”信息)。
- 获取到 MySQL 的 root 密码后,即可连接。
方法二:手动安装 MySQL
如果你已经有一台干净的服务器(如 Ubuntu 或 CentOS),或者需要指定特定版本的 MySQL,请按以下步骤操作。
场景 A:Ubuntu / Debian 系统
-
更新软件源
sudo apt update sudo apt upgrade -y -
安装 MySQL 服务
sudo apt install mysql-server -y安装过程中系统会提示是否设置 root 密码,建议选择 "Use existing password" 或按提示设置。
-
安全加固(可选但推荐)
sudo mysql_secure_installation按提示执行以下操作:
- Validate Password Policy(验证密码策略):选 N(不需要)。
- Remove anonymous users:选 Y。
- Disallow root login remotely:选 Y(除非你需要远程连接,见下文网络部分)。
- Remove test database:选 Y。
- Reload privilege tables:选 Y。
-
验证安装
mysql -u root -p # 输入刚才设置的密码,看到 mysql> 提示符即成功
场景 B:CentOS / Rocky Linux 系统
-
安装 EPEL 仓库(如果是旧版 CentOS 7)
sudo yum install epel-release -y -
安装 MySQL 服务端
# CentOS 7 sudo yum install mysql-server -y # CentOS 8+ 或使用 AppStream sudo dnf install mysql-server -y -
启动并设置开机自启
sudo systemctl start mysqld sudo systemctl enable mysqld -
获取临时密码并修改
MySQL 安装后会自动生成一个临时密码,位置通常在/var/log/mysqld.log。grep 'temporary password' /var/log/mysqld.log复制该行输出的密码,然后登录并修改:
mysql -u root -p # 输入上面查到的临时密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新强密码'; FLUSH PRIVILEGES; -
安全加固
sudo mysql_secure_installation
⚠️ 关键步骤:配置防火墙与远程访问
轻量云服务器默认开启了安全组(Firewall),如果不配置,你将无法从本地电脑连接数据库。
1. 配置京东云控制台“安全组”
- 在京东云控制台找到你的实例。
- 点击 “安全组” 或 “防火墙” 标签。
- 添加一条 入站规则:
- 协议类型:TCP
- 端口范围:3306 (MySQL 默认端口)
- 授权对象:
0.0.0.0/0(允许所有 IP,生产环境建议限制为具体 IP) - 描述:允许 MySQL 远程连接
- 保存规则。
2. 配置 MySQL 内部权限(仅当需要远程连接时)
如果你需要在本地电脑(如 Navicat, DBeaver)连接服务器上的 MySQL,必须允许 root 用户远程登录。
-
登录 MySQL:
mysql -u root -p -
执行以下 SQL 命令(将
your_password替换为你的实际密码):-- 允许 root 从任何 IP 连接(不推荐生产环境直接开放,仅限测试) CREATE USER 'root'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES; -- 或者,更安全的做法是只允许特定 IP 连接 -- CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'your_password'; -- GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100'; -- FLUSH PRIVILEGES;(注:MySQL 8.0+ 版本中,默认用户可能是
root@localhost,如果需要远程,需先删除或修改该用户) -
退出 MySQL:
exit;
常见问题排查
- 连接超时 (Connection Timed Out):
- 检查京东云控制台的安全组是否放行了 3306 端口。
- 检查服务器内部防火墙(如
ufw或firewalld)是否关闭了该端口。
- Access denied for user ‘root’@’…’:
- 检查 MySQL 内部用户权限配置,确认是否允许了当前 IP 的连接。
- 检查密码是否正确(注意大小写和特殊字符)。
- 内存不足 (OOM):
- 轻量云主机内存较小(如 1GB 或 2GB),如果开启 MySQL 后服务器卡死,可能需要调整 MySQL 配置文件 (
/etc/mysql/my.cnf) 中的innodb_buffer_pool_size参数,将其调小以适应内存限制。
- 轻量云主机内存较小(如 1GB 或 2GB),如果开启 MySQL 后服务器卡死,可能需要调整 MySQL 配置文件 (
通过以上步骤,你应该能顺利在京东云轻量服务器上运行 MySQL 数据库。如果是初次搭建且追求稳定,强烈建议使用方法一的官方镜像。
云知识CLOUD