docker安装MySQL8.0.23
docker安装MySQL8.0.23
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)再次连接即可成功