我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Docker 安装 MySQL 并使用 Navicat 连接

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Docker 安装 MySQL 并使用 Navicat 连接

本文目录

1. 拉取 MySQL 镜像

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

在这里插入图片描述

  • 可以通过下面的命令拉取 MySQL 镜像:
docker pull mysql

在这里插入图片描述

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

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

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

参数说明:

  • –name:指定了容器的名称,方便之后进入容器的命令行。
  • -itd:其中,i 是交互式操作,t 是一个终端,d 指的是在后台运行。
  • -p:指在本地生成一个随机端口,用来映射 mysql 的 3306 端口。
  • -e:设置环境变量。
  • MYSQL_ROOT_PASSWORD=root123456:指定了 MySQL 的 root 密码。
  • -d mysql:指运行 mysql 镜像,设置容器在在后台一直运行。

运行截图:

在这里插入图片描述

【补充知识】:

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

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

  1. 设置单个环境变量:

    docker run -e VAR_NAME=VAR_VALUE image_name

    这将在容器中设置一个名为 VAR_NAME 的环境变量,其值为 VAR_VALUE

  2. 设置多个环境变量:

    docker run -e VAR1_NAME=VAR1_VALUE -e VAR2_NAME=VAR2_VALUE image_name

    这将在容器中设置两个环境变量 VAR1_NAMEVAR2_NAME,分别对应的值为 VAR1_VALUEVAR2_VALUE

  3. 从环境变量文件设置:

    docker run --env-file env_file_name image_name

    env_file_name 是包含环境变量键值对的文件。每行应该包含一个键值对,例如 VAR_NAME=VAR_VALUE。Docker 将读取文件中的键值对,并在容器中设置相应的环境变量。

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

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

docker ps

在这里插入图片描述

3.1 进入 MySQL 容器

docker exec -it mysql-test /bin/bash

3.2 进入 MySQL

mysql -uroot -pEnter password:root123456

在这里插入图片描述

3.3 查看 host 和 user

select host,user from mysql.user;

在这里插入图片描述

  • 确保 roothost% 即代表可以远程连接。

4. MySQL 开启远程访问权限

4.1 切换数据库

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

use mysql;

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

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

参数说明:

  • GRANT:赋权命令
  • ALL PRIVILEGES:当前用户的所有权限
  • ON:介词
  • .:当前用户对所有数据库和表的相应操作权限
  • TO:介词
  • ‘root’@’%’:权限赋给 root 用户,所有 ip 都能连接
  • WITH GRANT OPTION:允许级联赋权

4.3 强制刷新权限

FLUSH PRIVILEGES;

在这里插入图片描述

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

windows 如何开放端口

在这里插入图片描述

在这里插入图片描述

  • 在虚拟机上开放 3306 端口,允许 MySQL 的入站连接,可以使用以下命令通过防火墙允许入站连接:

    ufw allow 3306

在这里插入图片描述

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/bashmysql -uroot -pEnter 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 连接 正式结束!

来源地址:https://blog.csdn.net/m0_51913750/article/details/131520076

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Docker 安装 MySQL 并使用 Navicat 连接

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

win10下docker中安装sqlserver并使用navicat premiun连接

下载镜像:docker pull microsoft/mssql-server-linux 运行镜像:docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=[包含大小写字母、数字的长度不少于8位数的密码]" --priv
win10下docker中安装sqlserver并使用navicat premiun连接
2016-02-06

Linux虚拟机上怎么安装docker并使用docker安装mysql

Linux虚拟机上怎么安装docker并使用docker安装mysql,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、序言现在在Linux虚拟机上安装程序,越来越多的人都使用
2023-06-05

Linux下docker安装mysql8并配置远程连接

目录第一步:下载mysql镜像镜像第二步:启动mysql镜像第三步:查询启动的镜像http://www.cppcns.com第四步:进入容器第五步:登录mysql第六步:编程客栈设置远程访问第七步:navicat链接时报 2059 错误第一
2022-07-06

MySQL5.7升级MySQL8.0完整卸载与安装并连接Navicat

👑 博主简介:    🥇 Java领域新星创作者    🥇 阿里云开发者社区专家博主、星级博主、技术博主 🤝 交流社区:BoBooY(优质编程学习笔记社区) 前言:
2023-08-16

Linux下docker怎么安装mysql8并配置远程连接

这篇文章主要讲解了“Linux下docker怎么安装mysql8并配置远程连接”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下docker怎么安装mysql8并配置远程连接”吧!第
2023-07-02

编程热搜

目录