Ubuntu上使用docker安装mysql

1
docker search mysql
/images/img/20220308164142.png
1
docker pull mysql:8.0
  • docker pull mysql #拉取最新版本的mysql
1
docker images mysql:8.0
/images/img/20220308164232.png
1
docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
  • -p 将本地主机的端口(3307)映射到docker容器端口(3306)
  • –name 容器名称
  • -e 配置信息,root用户原始密码为root
  • -d 镜像名称
注意
记得去服务器防火墙放行3307端口
1
docker ps
/images/img/20220308165059.png
1
2
docker exec -it mysql bash
mysql -uroot -p
/images/img/20220308165341.png
/images/img/20220308165538.png

会出现下面的2059错误

/images/img/20220308165609.png

报错:navicat不支持caching_sha_password加密方式 原因:mysql8.0使用新的密码加密方式:caching_sha_password 解决方式:修改成旧的加密方式(mysql_native_password),并重置密码

操作如下:

1
2
3
use mysql;
select host,user,plugin from user;
alter user 'root'@'%' identified with mysql_native_password by 'root';
/images/img/image-20220308165934553.png
/images/img/20220308170213.png

--restart=always后跟的是容器名称

1
docker update --restart=always mysql 

登入mysql后,修改原始密码为123456

1
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';