Docker 安装 MySQL 并使用 Navicat 连接

这篇具有很好参考价值的文章主要介绍了Docker 安装 MySQL 并使用 Navicat 连接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 拉取 MySQL 镜像

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

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

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

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

这将下载最新版本的 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中的mysql,我的漫漫求职路,docker,mysql,adb

【补充知识】:

在 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

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

3.1 进入 MySQL 容器

docker exec -it mysql-test /bin/bash

3.2 进入 MySQL

mysql -uroot -p
Enter password:root123456

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

3.3 查看 host 和 user

select host,user from mysql.user;

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

  • 确保 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;

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

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

windows 如何开放端口

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

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

    ufw allow 3306
    

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

6. 查看 Ubuntu IP

# 查看 IP 地址
ip addr

# 也可以用这个命令
ifconfig

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

7. 可能出现的问题

  • 可能出现的问题截图

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

  • 问题出现原因

这是因为 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;

运行截图:

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

8. Navicat 连接 MySQL 测试

连接docker中的mysql,我的漫漫求职路,docker,mysql,adb

至此,Docker 安装 MySQL 并使用 Navicat 连接 正式结束!文章来源地址https://www.toymoban.com/news/detail-694059.html

到了这里,关于Docker 安装 MySQL 并使用 Navicat 连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Navicat连接服务器上Docker安装的mysql提示拒绝连接

    英语翻译 --- ‘不允许主机连接到此MySQL服务器’ (意思是本地账号连接可以登录,但是远程登陆不行) ①进入docker中的mysql容器 ②登陆mysql ③执行以下步骤 重新连接即可

    2024年02月16日
    浏览(19)
  • Navicat使用HTTP通道服务器进行连接mysql数据库(超简单三分钟完成),centos安装nginx和php,docker安装nginx+php合并版

    Navicat使用HTTP通道服务器进行连接mysql数据库(超简单三分钟完成),centos安装nginx和php,docker安装nginx+php合并版

    因为数据库服务器在外网是不能直接连接访问的,但是可以访问网站,网站后台就能访问数据库,所以在此之前,访问数据库的数据是一件非常麻烦的事情,在平时和运维的交流中发现,他们会使用ssh通道进行连接访问数据库,之前并没在意这个东西,直到运维人员一直连不

    2024年02月10日
    浏览(20)
  • 虚拟机使用docker安装MySql出现的问题,Navicat连不上MySql

    虚拟机使用docker安装MySql出现的问题,Navicat连不上MySql

    文章目录 一、问题引入 二、问题分析  三、问题解决  ​四、总结 今天是学习谷粒商城的第一天,既然是第一天,肯定就是先对项目先有个基本的了解,比如是项目所用到的技术栈,项目整体的架构等,还对分布式的相关概念简单说了一下。 接下来来就是搭建环境了,与以

    2024年02月07日
    浏览(18)
  • Navicat远程连接,Docker中的mysql,新建数据库时报错:1044 -Access denied for user ‘root‘@‘%‘ to database

    Navicat远程连接,Docker中的mysql,新建数据库时报错:1044 -Access denied for user ‘root‘@‘%‘ to database

     该错误表示root用户没有访问指定数据库的权限  解决办法就是重新赋权 1.访问 Docker 容器内的 MySQL 命令行界面 2.输入 root 用户的密码 注 : 密码是不会显示的,输入完后Enter即可 3.切换数据库 4.更新表host中的列,将根用户的mysql.user值设置为。\\\'%\\\' 注 :         默认情况

    2024年02月16日
    浏览(17)
  • Navicat远程连接Docker容器中的mysql:报异常,1044 - Access denied for user ‘root‘@‘%‘ to database ‘xxxxxx‘

    (1)在Docker中部署mysql容器; (2)远程连接工具可以成功连接之后,只会显示自动生成的数据库,其他的数据库无法显示; (3)无法使用远程连接工具创建数据库(Navicat):一旦执行创建数据库,就报1044异常。 (4)进入docker中的mysql容器中,却可以正常创建数据库。 远

    2024年02月12日
    浏览(10)
  • 在M1芯片的Macbook上使用docker-compose启动mysql,并利用 NaviCat Premium 客户端进行连接

    在M1芯片的Macbook上使用docker-compose启动mysql,并利用 NaviCat Premium 客户端进行连接

    在M1芯片的Macbook上使用docker-compose启动mysql,并利用 NaviCat Premium 客户端进行连接   先打开控制台,使用 uname -m 来查看自己CPU芯片的架构   苹果的M系列芯片使用的是ARM64架构,因此,需要安装相应版本的一些列工具。         因为我是M1芯片,所以安装docker desktop时候,当

    2024年02月12日
    浏览(12)
  • MySQL:安装 MySQL、Navicat、使用 Navicat 连接 MySQL

    MySQL:安装 MySQL、Navicat、使用 Navicat 连接 MySQL

    数据库 :DB (Database) 数据仓库,可以存储大量数据,是一个 软件 ,安装在操作系统(Windows, Linux, Mac 等)之上。 作用 :存储数据,管理数据。 数据库的 执行语句 :SQL。 数据库分类 :关系型数据库、非关系型数据库 关系型数据库 (SQL):通过表和表之间,行和列之间的关

    2024年02月02日
    浏览(14)
  • Docker安装MS SQL Server并使用Navicat远程连接

    Docker安装MS SQL Server并使用Navicat远程连接

    Microsoft SQL Server(简称SQL Server)是由微软公司开发的关系数据库管理系统,它是一个功能强大、性能卓越的企业级数据库平台,用于存储和处理大型数据集、支持高效查询和分析等操作。SQL Server 支持广泛的应用程序开发接口(API),包括 T-SQL、ADO.NET、ODBC、OLE DB 等,并支持

    2024年02月07日
    浏览(8)
  • Docker中的Nacos与Docker中的MySQL不能连接,报错No DataSource set

    Docker中的Nacos与Docker中的MySQL不能连接,报错No DataSource set

    配置Nacos的MYSQL_SERVICE_HOST为docker宿主机的ip地址后,docker上的nacos不能访问到同一docker上的mysql。 报错信息如下: No DataSource set at com.alibaba.nacos.config.server.service.dump.DumpService.dumpOperate(DumpService.java:225) at com.alibaba.nacos.config.server.service.dump.ExternalDumpService.init(ExternalDumpService.java:52

    2024年02月04日
    浏览(13)
  • MySQL基于docker安装及连接

    MySQL是一种开源的关系型数据库管理系统,广泛应用于各种Web应用程序和网站的开发和维护中。Docker是一种轻量级的虚拟化技术,能够快速方便地部署和运行各种应用程序,包括MySQL数据库。本文将介绍如何基于Docker安装MySQL,并连接到该数据库。 步骤一:检查网络服务 在安

    2024年02月05日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包