1下载安装

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

第二步:拉取指定版本的mysql

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

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

解决办法:

(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; 

备注: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)再次连接即可成功!

来源:稀土掘金

最后修改:2023 年 03 月 18 日
如果觉得我的文章对你有用,请随意赞赏