在京东云上使用 Docker 安装 MySQL,可以分为以下几个步骤:
? 一、准备工作
-
登录京东云控制台
- 访问:京东云官网
- 登录后创建一台云服务器(CVM),推荐选择 Linux 系统(如 CentOS 7/8、Ubuntu 20.04 等)。
-
远程连接到云服务器
- 使用 SSH 工具(如 Xshell、PuTTY 或终端)连接你的云服务器:
ssh root@你的公网IP
- 使用 SSH 工具(如 Xshell、PuTTY 或终端)连接你的云服务器:
? 二、安装 Docker
-
更新系统包
sudo yum update -y # CentOS/RedHat # 或 sudo apt update -y # Ubuntu/Debian -
安装 Docker
-
CentOS/RedHat 示例:
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker -
Ubuntu 示例:
sudo apt install -y docker.io sudo systemctl start docker sudo systemctl enable docker
-
-
验证 Docker 是否安装成功
docker --version docker run hello-world
? 三、使用 Docker 安装并运行 MySQL
-
拉取 MySQL 镜像(以 MySQL 8.0 为例)
docker pull mysql:8.0 -
创建本地目录用于数据持久化
mkdir -p /data/mysql/{conf,data,logs} -
创建并运行 MySQL 容器
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=YourStrongPassword123! -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysql/conf.d --restart=always mysql:8.0? 注意:请将
YourStrongPassword123!替换为你自己的强密码。 -
参数说明:
-d:后台运行--name mysql:容器名称-p 3306:3306:映射主机 3306 端口到容器-e MYSQL_ROOT_PASSWORD=...:设置 root 密码-v:挂载数据卷,确保数据不丢失--restart=always:开机自启
? 四、配置远程访问(可选)
-
进入容器修改 MySQL 配置(支持远程连接)
docker exec -it mysql bash -
创建配置文件允许远程访问(可选)
在/data/mysql/conf/目录下创建my.cnf:[mysqld] bind-address = 0.0.0.0然后重启容器:
docker restart mysql -
在 MySQL 中授权远程访问
CREATE USER 'root'@'%' IDENTIFIED BY 'YourStrongPassword123!'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
? 五、京东云安全组设置
必须配置,否则无法从外部连接!
- 登录京东云控制台。
- 进入 “安全组” 页面。
- 找到你的云服务器所绑定的安全组。
- 添加入站规则:
- 协议类型:TCP
- 端口:3306
- 源 IP:
0.0.0.0/0(或限制为你的 IP) - 策略:允许
✅ 六、测试连接
使用客户端(如 Navicat、DBeaver 或 MySQL Workbench)连接:
- 主机:你的京东云公网 IP
- 端口:3306
- 用户名:root
- 密码:你设置的密码
? 注意事项
-
安全性建议:
- 不要长期开放 3306 端口给
0.0.0.0/0,建议限制为特定 IP。 - 使用强密码。
- 可考虑使用 SSH 隧道连接更安全。
- 不要长期开放 3306 端口给
-
备份数据:
定期备份/data/mysql/data目录。 -
性能优化:
可根据需要配置my.cnf调整 MySQL 性能。
? 补充:使用 Docker Compose(推荐用于多服务)
创建 docker-compose.yml 文件:
version: '3.8'
services:
mysql:
image: mysql:8.0
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: YourStrongPassword123!
ports:
- "3306:3306"
volumes:
- /data/mysql/data:/var/lib/mysql
- /data/mysql/conf:/etc/mysql/conf.d
restart: always
运行:
docker-compose up -d
如有其他需求(如主从复制、SSL 配置等),可继续扩展。
需要我帮你写一键安装脚本吗?
CDNK博客