Docker安装Mysql 8.0

本文介绍如何使用Docker快速部署MySQL 8.0,包括拉取镜像、启动容器、配置远程访问等步骤,并确保Navicat能成功连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

〇.安装Docker

一.拉取docker镜像

1.查看可用的Mysql镜像版本

官网查看可以使用的mysql版本:
在这里插入图片描述
点击进去后,切换到tag标签可以看到不同的版本:
在这里插入图片描述
右侧对应各个版本的拉取命令:
在这里插入图片描述

2.拉取Mysql镜像版本

以8.0版本为例,再装有docker的环境下(这里是CentOS 7)输入拉取命令:

docker pull mysql:8.0

然后开始拉取镜像,拉取完成后,输入命令:

docker images

查看系统里的镜像:
在这里插入图片描述

二.启动Mysql镜像

docker run -itd --name mysql-8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0

参数说明:

  • –name mysql-8:所建容器的名称
  • -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
  • MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码
  • mysql:8.0:使用的镜像,即镜像名:tag

启动后:使用命令

docker ps

可以查看镜像状态:
在这里插入图片描述

三.配置Mysql远程链接

1.进入镜像

docker exec -it mysql-8 /bin/bash

2.登陆Mysql

mysql -uroot -p

在这里插入图片描述

3.切换数据库

use mysql

在这里插入图片描述

4.设置远程访问

select host,user,plugin from user;

在这里插入图片描述
这时候远程是访问不了的
![在这里插入图片描述](https://img-blog.csdnimg.cn/c333f78594554bbf9de6dab04f2eef71.png

原因是:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password。

先删除多余的行:

delete from user where user ='root' and host='%';

重新查看一下用户,现在是4行,说明删除成功。
在这里插入图片描述
设置所有host都可以访问:

update user set host='%' where user ='root';

在这里插入图片描述

修改加密方式:

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

重新看一下用户表,发现加密方式已经变了。
在这里插入图片描述

刷一下,使之生效:

FLUSH PRIVILEGES;

在这里插入图片描述

然后退出。

exit

在这里插入图片描述

四.Navicat可以连接了

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值