本文目录 1. 拉取 MySQL 镜像2. 创建并运行一个 MySQL 容器3. 验证MySQL容器是否创建并运行成功3.1 进入 MySQL 容器3.2 进入 MySQL3.3 查看 hos
在没有拉取 mysql 镜像之前的镜像列表:
Docker pull mysql
这将下载最新版本的 MySQL 镜像到虚拟机中。
docker run --name=mysql-test -itd -p 3306:3306 -e MYSQL_ROOT_PASSWord=root123456 -d mysql
参数说明:
mysql
的 3306 端口。root
密码。mysql
镜像,设置容器在在后台一直运行。运行截图:
【补充知识】:
在 Docker 中,使用 -e
参数可以设置环境变量。环境变量是影响容器运行时行为的一些配置值。这些值可以在容器内部使用,例如在应用程序中访问数据库时,可以使用环境变量来指定数据库连接信息。
下面是一些使用 -e
参数运行 Docker 容器时的示例:
设置单个环境变量:
docker run -e VAR_NAME=VAR_VALUE image_name
这将在容器中设置一个名为 VAR_NAME
的环境变量,其值为 VAR_VALUE
。
设置多个环境变量:
docker run -e VAR1_NAME=VAR1_VALUE -e VAR2_NAME=VAR2_VALUE image_name
这将在容器中设置两个环境变量 VAR1_NAME
和 VAR2_NAME
,分别对应的值为 VAR1_VALUE
和 VAR2_VALUE
。
从环境变量文件设置:
docker run --env-file env_file_name image_name
env_file_name
是包含环境变量键值对的文件。每行应该包含一个键值对,例如 VAR_NAME=VAR_VALUE
。Docker 将读取文件中的键值对,并在容器中设置相应的环境变量。
通过设置环境变量,可以在容器中配置应用程序所需的各种参数,例如数据库连接字符串、api密钥等。这样可以轻松地在不同环境中部署容器,而无需对应用程序的配置进行硬编码。
docker ps
docker exec -it mysql-test /bin/bash
mysql -uroot -pEnter password:root123456
select host,user from mysql.user;
root
的 host
为 %
即代表可以远程连接。注意:默认应该就是这个,不切换也行,保险起见还是切换一下
use mysql;
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTioN;
参数说明:
root
用户,所有 ip 都能连接FLUSH PRIVILEGES;
在虚拟机上开放 3306 端口,允许 MySQL 的入站连接,可以使用以下命令通过防火墙允许入站连接:
ufw allow 3306
# 查看 IP 地址ip addr# 也可以用这个命令ifconfig
这是因为 MySQL8 之前密码加密规则为 mysql_native_password
,而 MySQL8 之后的加密规则为 caching_sha2_password
,也就是说,如果要用 Navicat 连接 MySQL,其实只需要将密码规则改回 mysql_native_password
即可;
docker exec -it mysql-test /bin/bashmysql -uroot -pEnter password:root123456
use mysql;
IDENTIFIED BY ‘root123456’:连接时输入密码,密码为 root123456
ALTER USER 'root'@'%' IDENTIFIED BY 'root123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456';
FLUSH PRIVILEGES;
运行截图:
至此,Docker 安装 MySQL 并使用 Navicat 连接 正式结束!
来源地址:https://blog.csdn.net/m0_51913750/article/details/131520076
--结束END--
本文标题: Docker 安装 MySQL 并使用 Navicat 连接
本文链接: https://www.lsjlt.com/news/384573.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0