docker安装MySQL8.0.23

语言: CN / TW / HK

docker安装MySQL8.0.23

1下载安装

第一步:在hub.docker.com上搜索mysql镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HJhpNt0J-1623762282804)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623761017622.png)]

在这里插入图片描述

第二步:拉取指定版本的mysql [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kze5QH1w-1623762282806)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623761038347.png)]

也可以指定拉取版本,例如:

sudo docker pull mysql:8.0.23

第三步:检查mysql镜像

sudo docker images

第四步:启动运行mysql镜像 (docker run 用于启动一个容器)

sudo docker run -p 3306:3306 --name mysql \ -v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:8.0.23

假如安装过程中失败了,则可通过docker ps -a 查看以前的容器,假如已存在,则通过docker rm 镜像id 删除再重新安装即可。

第五步:停止mysql服务(可选)

执行完第四个步骤(启动运行mysql镜像),mysql就会自动启动了,假如需要停止这个

服务可以执行:

docker stop mysql

第六步:启动mysql服务

假如mysql服务没有启动运行,但是mysql容器是存在的,可以通过如下方式启动mysql。

docker start mysql

假如希望查看mysql启动时的日志,可以执行 docker container logs mysql 这个指令。

第七步:查看docker启动的服务

docker ps

第八步:进入容器 (退出容器用exit)

sudo docker exec -it mysql bash

第九步:登陆(默认密码root),一定要先进入mysql容器。

mysql -uroot -proot

第十步:设置mysql开机自启动(可选)

docker update mysql --restart=always

如何重启mysql服务?

docker restart mysql

查看MySQL安装到哪了?

whereis mysql

连接MySQL时要注意

第一步:关闭linux宿主机的防火墙 (假如直击连接),命令忘了可以通过搜索引擎查。

sudo systemctl stop firewalld.service

第二步:重启docker

sudo systemctl restart docker

第三步:启动mysql

docker start mysql

2Navacat连接MySQL

连接mysql如果遇到以下问题可以这样解决

问题描述:

1251-client does not support authentication protocol requesred by server;consider upgrading MySQL Client [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vVXDdB4x-1623762282808)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623761786291.png)]

解决办法:

(1)mysql容器内部

sudo docker exec -it mysql bash

(2)进入mysql

mysql -u root -p root

输入密码 root

(3)使用mysql数据库

use user

(4)查看用户信息

select host,user,plugin,authentication_string from mysql.user; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lQljScdw-1623762282811)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623762060164.png)]

备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码

(5)修改用户密码

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

(6)更新user为root,host为% 的密码为123456

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

更新user为root,host为localhost 的密码为123456

(7)再次连接即可成功 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MKzOX3RF-1623762282812)(C:\Users\沉思\AppData\Roaming\Typora\typora-user-images\1623762205556.png)]