docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker MySQL并使用Navicat连接

Docker安装MySQL并使用Navicat连接的使用示例

作者:mortalོ  

在Docker里运行MySQL的方式还是很方便的,本文主要介绍了Docker安装MySQL并使用Navicat连接的使用示例,具有一定的参考价值,感兴趣的可以了解一下

1. 拉取 MySQL 镜像

在没有拉取 MySQL 镜像之前的镜像列表:

docker pull mysql

这将下载最新版本的 MySQL 镜像到虚拟机中。

2. 创建并运行一个 MySQL 容器

docker run --name=mysql-test -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root123456 -d mysql

参数说明:

运行截图:

【补充知识】:

在 Docker 中,使用 -e 参数可以设置环境变量。环境变量是影响容器运行时行为的一些配置值。这些值可以在容器内部使用,例如在应用程序中访问数据库时,可以使用环境变量来指定数据库连接信息。

下面是一些使用 -e 参数运行 Docker 容器时的示例:

通过设置环境变量,可以在容器中配置应用程序所需的各种参数,例如数据库连接字符串、API密钥等。这样可以轻松地在不同环境中部署容器,而无需对应用程序的配置进行硬编码。

3. 验证MySQL容器是否创建并运行成功

docker ps

3.1 进入 MySQL 容器

docker exec -it mysql-test /bin/bash

3.2 进入 MySQL

mysql -uroot -p
Enter password:root123456

3.3 查看 host 和 user

select host,user from mysql.user;

4. MySQL 开启远程访问权限

4.1 切换数据库

注意:默认应该就是这个,不切换也行,保险起见还是切换一下

use mysql;

4.2 给 root 用户分配远程访问权限

GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;

参数说明:

4.3 强制刷新权限

FLUSH PRIVILEGES;

5. 服务器配置 3306 的开放端口

windows 如何开放端口

6. 查看 Ubuntu IP

# 查看 IP 地址
ip addr
# 也可以用这个命令
ifconfig

7. 可能出现的问题

img

这是因为 MySQL8 之前密码加密规则为 mysql_native_password,而 MySQL8 之后的加密规则为 caching_sha2_password,也就是说,如果要用 Navicat 连接 MySQL,其实只需要将密码规则改回 mysql_native_password 即可;

7.1 进入 MySQL 数据库

docker exec -it mysql-test /bin/bash
mysql -uroot -p
Enter password:root123456

7.2 选择数据库

use mysql;

7.3 更改密码加密方式

IDENTIFIED BY ‘root123456’:连接时输入密码,密码为 root123456

ALTER USER 'root'@'%' IDENTIFIED BY 'root123456' PASSWORD EXPIRE NEVER;

7.4 更新用户密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456';

7.5 刷新权限

FLUSH PRIVILEGES;

运行截图:

8. Navicat 连接 MySQL 测试

到此这篇关于Docker安装MySQL并使用Navicat连接的使用示例的文章就介绍到这了,更多相关Docker MySQL并使用Navicat连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文