前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker安装MySQL并使用Navicat连接

Docker安装MySQL并使用Navicat连接

作者头像
追逐时光者
发布2022-09-29 18:57:55
3.2K0
发布2022-09-29 18:57:55
举报
文章被收录于专栏:编程进阶实战

MySQL简单介绍:

  MySQL 是一个开放源码的关系数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的大中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。

查看可用的MySQL版本:

访问DokcerHub中的MySQL镜像库地址:https://hub.docker.com/_/mysql/tags 可以通过 Sort by 查看其他版本的MySQL,查看最新版本MySQL镜像(mysql:latest):https://hub.docker.com/_/mysql/tags?page=1&name=latest

此外,我们还可以用docker search mysql命令来查看可用版本:

拉取最新版本的MySQL镜像:

代码语言:javascript
复制
docker pull mysql:latest

注意:tag是可选的,tag表示标签,多为软件的版本,默认是latest版本(最新版)

验证MySQL镜像是否成功拉取到本地:

使用以下命令来查看mysql镜像是否成功拉取到本地:

代码语言:javascript
复制
docker images

创建并运行一个MySQL容器:

代码语言:javascript
复制
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镜像,设置容器在在后台一直运行。

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

代码语言:javascript
复制
docker ps

1、进入MySQL容器:

代码语言:javascript
复制
docker exec -it mysql-test /bin/bash

2、进入MySQL:

代码语言:javascript
复制
mysql -uroot -p

Enter password:root123456

MySQL开启远程访问权限:

1、切换数据库

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

代码语言:javascript
复制
use mysql;

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

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;

参数说明:

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

3、强制刷新权限

代码语言:javascript
复制
FLUSH PRIVILEGES;

服务器配置3306的开放端口:

Navicat 连接 MySQL8 报错:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:xxxx;

错误问题原因:

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

解决方法:

1.进入MySQL数据库
代码语言:javascript
复制
docker exec -it mysql-test /bin/bash
mysql -uroot -p
Enter password:root123456
2.选择数据库
代码语言:javascript
复制
use mysql;
3.更改密码加密方式

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

代码语言:javascript
复制
ALTER USER 'root'@'%' IDENTIFIED BY 'root123456' PASSWORD EXPIRE NEVER; 
4.更新用户密码
代码语言:javascript
复制
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456'; 
5.刷新权限
代码语言:javascript
复制
FLUSH PRIVILEGES;

Navicat连接MySQL测试:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL简单介绍:
  • 查看可用的MySQL版本:
  • 拉取最新版本的MySQL镜像:
  • 验证MySQL镜像是否成功拉取到本地:
  • 创建并运行一个MySQL容器:
  • 验证MySQL容器是否创建并运行成功:
  • MySQL开启远程访问权限:
    • 1、切换数据库
      • 2、给root用户分配远程访问权限
        • 3、强制刷新权限
        • 服务器配置3306的开放端口:
        • Navicat 连接 MySQL8 报错:2059 - Authentication plugin ‘caching_sha2_password’ cannot be loaded:xxxx;
          • 错误问题原因:
            • 解决方法:
              • 1.进入MySQL数据库
              • 2.选择数据库
              • 3.更改密码加密方式
              • 4.更新用户密码
              • 5.刷新权限
          • Navicat连接MySQL测试:
          相关产品与服务
          云数据库 SQL Server
          腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档