是在 Docker Desktop 中安装 MySQL 并开启远程访问的详细教程:
一、安装 MySQL 容器
拉取 MySQL 镜像:
这将从 Docker Hub 上拉取最新版本的 MySQL 镜像。假如你想使用特定版本的 MySQL,可以将 latest 替换为具体的版本号,例如 mysql:8.0。
运行 MySQL 容器:
- docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=your_password -p 3303:3306 mysql:latest
复制代码 docker run -d:表示在后台运行容器。
–name mysql-container:为容器命名为 mysql-container,你可以使用自己喜欢的名称。
-e MYSQL_ROOT_PASSWORD=your_password:设置 MySQL 的 root 用户暗码,将 your_password 替换为你想要设置的暗码。
-p 3303:3306:将容器内的 3306 端口映射到主机的 3303 端口,如许你就可以通过主机的 3303 端口访问容器内的 MySQL 服务。
二、配置 MySQL 允许远程访问
进入 MySQL 容器:
- docker exec -it mysql-container bash
复制代码 这将进入到 mysql-container 容器的下令行界面。
登录 MySQL 服务:
输入之前设置的 your_password 登录 MySQL。
修改 MySQL 配置允许远程访问:
sql
– 创建允许远程访问的用户或修改 root 用户允许远程访问
- CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
复制代码 – 授予用户权限
- GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' WITH GRANT OPTION;
复制代码 – 刷新权限
将 your_user 和 your_password 替换为你想要设置的用户名和暗码。
CREATE USER ‘your_user’@‘%’ IDENTIFIED BY ‘your_password’;:创建一个可以从任何 IP 所在访问的用户。假如你想只允许从特定 IP 所在访问,可以将 % 替换为相应的 IP 所在,例如 ‘your_user’@‘192.168.1.100’。
GRANT ALL PRIVILEGES ON . TO ‘your_user’@‘%’ WITH GRANT OPTION;:授予用户在所有数据库和表上的所有权限,并允许该用户授予其他用户权限。
注1:
查看当前用户及其权限:
sql
- SELECT user, host FROM mysql.user;
复制代码 注2:
查抄主机上的 MySQL 服务占用情况
使用下令行查抄:
cmd
- netstat -ano | findstr :3306
复制代码 这将显示使用 3306 端口的进程的 PID(进程标识符)。
假如你看到有进程正在使用 3306 端口,你可以根据 PID 在任务管理器中查看具体的进程信息。在任务管理器中,点击 “详细信息” 选项卡,找到相应的 PID,确认是否是主机上的 MySQL 服务。
这会列出所有 MySQL 用户及其允许的毗连来源(host)。
查抄 root 用户是否允许远程毗连:
假如 host 为 %,表示允许从任何主机毗连。
假如 host 为 localhost,表示只允许本地毗连。
三、配置防火墙和网络
确保主机防火墙允许 3306 端口访问:
在 Windows 上,你可以打开 Windows 防火墙高级设置,创建一个新的入站规则,允许 TCP 端口 3306 的访问。
在 macOS 上,打开系统偏好设置 -> 安全与隐私 -> 防火墙,确保允许 MySQL 服务的访问。
查抄 Docker 网络设置:
确保 Docker Desktop 的网络设置正常,一样寻常默认设置下应该可以正常工作。假如有题目,可以实验重启 Docker Desktop 或查抄网络模式,通常使用默认的 bridge 模式即可。
四、测试远程毗连
使用 MySQL 客户端毗连:
在你的电脑上,使用 MySQL 客户端工具(如 MySQL Workbench、Navicat 或下令行)进行毗连。
毗连参数如下:
主机:你的 Docker 主机的 IP 所在(假如你在本地测试,可以使用 127.0.0.1 或 localhost)。
端口:3303。
用户:你创建的 your_user 或 root。
暗码:你设置的 your_password。
注意事项
安全考虑:
开启远程访问会带来一定的安全风险,建议设置强暗码,并仅允许须要的 IP 所在访问,避免使用 % 允许所有 IP 访问,除非你确实须要从任何地方访问。
数据长期化:
上述方法将 MySQL 数据存储在容器内,容器删除后数据会丢失。假如须要长期化数据,可以使用 Docker 卷,在运行容器时添加 -v /host/path:/var/lib/mysql 参数,将容器内的 /var/lib/mysql 目录映射到主机的 /host/path 目录,例如:
- docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 -v /my/host/directory:/var/lib/mysql mysql:latest
复制代码 通过上述步调,你应该可以在 Docker Desktop 中乐成安装 MySQL 并开启远程访问,使你的电脑可以或许毗连到该 MySQL 服务。记得在操作过程中,根据你的具体需求和实际情况调解相关参数和设置,同时注意安全和数据的生存题目。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |