1. 拉取 MySQL 5.7 镜像
打开终端或命令行,执行以下命令来拉取 MySQL 5.7 的 Docker 镜像:
docker pull mysql:5.7
2. 运行 MySQL 容器
使用以下命令来运行 MySQL 容器,并将其端口映射到主机的端口上,以便外部用户可以访问:
docker run --name mysql57 -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql:5.7
-
--name mysql57
:为容器指定一个名称。 -
-e MYSQL_ROOT_PASSWORD=my-secret-pw
:设置 MySQL root 用户的密码。 -
-p 3306:3306
:将容器的 3306 端口映射到主机的 3306 端口。 -
-d
:在后台运行容器。
3. 配置防火墙(如果需要)
如果你的服务器有防火墙,确保允许外部访问 3306 端口。例如,如果你使用的是 ufw
,可以执行以下命令:
sudo ufw allow 3306
4. 连接到 MySQL 数据库
现在,你可以使用 MySQL 客户端工具(如 mysql
命令行工具、MySQL Workbench 或其他数据库管理工具)连接到你的 MySQL 数据库。连接信息如下:
-
主机:你的服务器 IP 地址或域名
-
端口:3306
-
用户名:root
-
密码:你在步骤 3 中设置的密码(例如
my-secret-pw
)
5. 创建数据库和用户(可选)
你可以通过 MySQL 客户端连接到数据库并创建新的数据库和用户。例如:
mysql -h your-server-ip -P 3306 -u root -p
然后在 MySQL 提示符下执行以下命令:
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'%';
FLUSH PRIVILEGES;
6. 持久化数据(可选)
为了确保 MySQL 数据在容器重启或删除后不会丢失,你可以将数据目录挂载到主机目录。例如:
docker run --name mysql57 -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -v /my/own/datadir:/var/lib/mysql -d mysql:5.7
-v /my/own/datadir:/var/lib/mysql
:将主机的/my/own/datadir
目录挂载到容器的/var/lib/mysql
目录。
这样,你就成功地使用 Docker 部署了 MySQL 5.7,并使其能够被外部用户访问。