首页 > 数据库 >Navicat连接Docker创建的MySQL运行实例

Navicat连接Docker创建的MySQL运行实例

时间:2023-09-10 17:32:29浏览次数:45  
标签:容器 MySQL Navicat mysql 镜像 Docker root

一步步教你在Docker中安装MySQL (qq.com)

Docker部署MySql应用 - 魔鬼YU天使 - 博客园 (cnblogs.com)

拉取MySQL镜像

我们可以通过Docker提供的命令,直接从Docker Hub上拉取MySQL的官方镜像。打开终端,输入如下命令:

docker pull mysql:8.0 

其中,:8.0表示我们需要下载的MySQL版本,你也可以更改为你需要的其他版本号。

通常要想在命令行中查看 Docker Hub 上的 MySQL 镜像版本,可以使用 docker 命令的 search 子命令。不过这个方法并不能直接查看到所有的版本信息,只能看到镜像的基本信息。你可以这样做:

docker search mysql

上述命令会返回一个列表,显示在 Docker Hub 上所有与 "mysql" 相关的镜像。

比如:

image-20230910164733934

然而,如果你想查看某个特定镜像(例如,官方的 MySQL 镜像)的所有版本,Docker CLI 并没有直接提供这样的功能。因此,你通常需要访问 Docker Hub 的网页版,查看相应镜像的 "Tags" 页面来获取这个信息。

比如:mysql Tags | Docker Hub

image-20230910164824837

运行MySQL

当我们拉取好MySQL镜像后,就可以运行MySQL容器了。通过以下命令创建并启动一个MySQL容器:

docker run --name mysql_test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8.0

这个命令的意思是运行一个名为mysql_test的MySQL容器,映射宿主机的3306端口到容器的3306端口,设置root用户的密码为my-secret-pw,并使用-d后台模式运行。当然,你可以根据自己的需要更改这些参数。

验证MySQL容器运行

如果你想验证MySQL容器是否成功运行,可以通过如下命令进入到这个MySQL容器:

docker exec -it mysql_test mysql -uroot -p

然后输入你之前设置的root用户密码my-secret-pw,如果看到MySQL的提示符,那就说明你的MySQL容器已经运行成功了。

  • exec:表示执行一个命令。

  • -it
    

    :是两个选项的结合,用于创建一个与容器的输入和输出进行交互的终端。这两个选项的含义如下:

    • -i--interactive:表示保持 STDIN 打开,允许对容器进行交互式输入。
    • -t--tty:为容器分配一个伪终端(pseudo-TTY),使得终端命令的输出能够正确显示。
  • mysql_test:是要执行命令的容器的名称或容器 ID。在这个例子中,这是一个名为 mysql_test 的容器。

Navicat连接报错解决

1251 - Client does not support authentication protocol

1 容器中登录mysql,查看mysql的版本

image-20230910165436691

2 进行授权远程连接(注意mysql 8.0跟之前的授权方式不同)

授权

GRANT ALL ON *.* TO ``'root'``@``'%'``;

刷新权限

flush privileges

此时,还不能远程访问,因为Navicat只支持旧版本的加密,需要更改mysql的加密规则

3 更改加密规则

ALTER USER ``'root'``@``'localhost'` `IDENTIFIED BY ``'password'` `PASSWORD EXPIRE NEVER;

  

4 更新root用户密码

ALTER USER ``'root'``@``'%'` `IDENTIFIED WITH mysql_native_password BY ``'123456'``;

刷新权限

flush privileges;

设置完成,再次使用 Navicat 连接数据库,OK!

在使用数据库时,直接用MySQL5.7就不会出这个问题

标签:容器,MySQL,Navicat,mysql,镜像,Docker,root
From: https://blog.51cto.com/coderge/7427175

相关文章

  • linux7.X二进制方式安装MySQL5.7.X
    概述系统环境服务器型号VMwareVirtualPlatform操作系统版本RHEL7.6x86_64主机名linuxpg51PubIP192.168.115.51数据库安装版本mysqlVer14.14Distrib5.7.30,forlinux-glibc2.12(x86_64)usingEditLinewrapper安装路径规划[mysql@linuxpg51/]$tree-L1/mysql/mysq......
  • 安装基于WSL2的Docker Hub
    windows10使用wsl2安装docker_Aurora-vv的博客-CSDN博客排雷|WSL2+docker安装若干问题与解法(qq.com)整个安装过程的原理是:windows使用docker,必须先安装一个Linux虚拟机,才可运行docker,而采用wsl2安装虚拟机是目前最好的方法1安装WSL2控制面板->程序->启用或关闭Windows功......
  • MySQL基础
    要学习数据库首先要先搞清楚三个概念数据库(DB):是存储数据的仓库数据库管理系统(DBMS):管理数据库的大型软件SQL:通过SQL操作数据库管理系统操作数据库,对数据库进行增删改查等由此我们可以知道数据库就是安装在操作系统之上的数据仓库,用于存储数据。我们也先认识一个概念->关系型数据......
  • 【k8s】k8s构建mysql双主集群
    背景当前很多开源系统都是基于k8s,而部署时会遇到组件包含mysql的情况。理想的情况下,是将mysql迁移到云上托管。但实际情况可能比较复杂,比如这个开源框架需要mysql的DML权限,但是公司DBA不提供;而基于k8s部署mysql的问题是,这个mysql集群往往是单点的。一般mysql会依赖于一个本地挂......
  • Windows安装MySQL Community Server 8.1.0 Innovation
    检查是否安装按win+r打开运行,输入services.msc回车在服务列表中查找mysql服务,如果存在mysql服务,说明已经安装mysql。反之,则说明没有安装了mysql服务。下载并安装下载链接:https://dev.mysql.com/downloads/mysql/MySQLCommunityServer8.1.0Innovation有msi版本......
  • 【高级】MySQL主从复制
    【一】引入之前做过redis的主从,很简单mysql稍微复杂一些,搭建mysql主从的目的是?读写分离单个实例并发量低,提高并发量只在主库写,读数据都去从库----》读多写少读写分离通过将读操作分发到从库,可以分摊主库的读负载,提高整体的并发处理能力。主库只需处理写操作,从库......
  • MySQL面试问题集锦
    1、请简要说明一条SQL语句的执行过程。参照:深度好文:MySQL架构(baidu.com)一文读懂MySQL查询语句的执行过程(taodudu.cc)MySQLServer架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层。2、mysql有关权限的表都有哪几个MySQL服务器通过权限表来控制用户对......
  • Docker的网络模式简介
    1)docker网络常用命令查看docker的网络模式dockernetworklsdocker网络常用命令参数connect #连接容器到网络create#创建网络disconnect#断开容器与网络的连接inspect#显示一个或多个网络的详细信息ls#列出所有网络prune#删除所有未使用的......
  • 达梦数据库教程:docker安装DM8数据库
    安装前准备软硬件版本终端X86-64架构Docker2023年6月版下载Docker安装包请在达梦数据库官网下载Docker安装包。导入安装包拷贝安装包到/opt目录下,执行以下命令导入安装包:dockerload-idm8_20230808_rev197096_x86_rh6_64_single.tar结果显示如下:导入完成后,可以使用doc......
  • Flink 1.17教程:输出算子之输出到MySQL(JDBC)
    输出到MySQL(JDBC)写入数据的MySQL的测试步骤如下。(1)添加依赖添加MySQL驱动:mysqlmysql-connector-java8.0.27官方还未提供flink-connector-jdbc的1.17.0的正式依赖,暂时从apachesnapshot仓库下载,pom文件中指定仓库路径:apache-snapshotsapachesnapshotshttps://repository.a......