打开终端或命令行,执行以下命令来拉取 MySQL 5.7 的 Docker 镜像:
docker pull mysql:5.7
使用以下命令来运行 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
:在后台运行容器。
如果你的服务器有防火墙,确保允许外部访问 3306 端口。例如,如果你使用的是 ufw
,可以执行以下命令:
sudo ufw allow 3306
现在,你可以使用 MySQL 客户端工具(如 mysql
命令行工具、MySQL Workbench 或其他数据库管理工具)连接到你的 MySQL 数据库。连接信息如下:
主机:你的服务器 IP 地址或域名
端口:3306
用户名:root
密码:你在步骤 3 中设置的密码(例如 my-secret-pw
)
你可以通过 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;
为了确保 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,并使其能够被外部用户访问。