Docker安装MySQL 8.0


首先在DockerHub上找到mysql的镜像,我找的是这个mysql/mysql-server
根据里边文档介绍:

1. 拉取最新的镜像。目前是8.0的mysql-server(不带tag默认是latest标签)
docker pull mysql/mysql-server
2. 运行mysql容器(这里--name表示容器名字,-e MYSQL_ROOT_PASSWORD=root表示将root密码设置为root,-p 3306:3306表示将docker内部容器的端口3306映射到本机的3306端口)
docker run -d -p 3306:3306 --name=mysql-server -e MYSQL_ROOT_PASSWORD=root mysql/mysql-server
3. mysql-server镜像里边自带了mysql client的镜像,可以直接通过docker命令进行连接:
docker exec -it mysql-server mysql -uroot -proot
4. 由于MySQL8.0使用了caching_sha2_password的加密方式。而5.7,5.8使用的是mysql_native_password的加密方式
FAQ:
  1. 连接出错 "Host '192.168.56.1' is not allowed to connect to this MySQL server"
    这个问题是MySQL的原因是权限表默认不允许远程登陆。
    此问题转自问题:not allowed to connect to MySQL
    1. 改表法
      SQL use mysql; update user set host = ‘%’ where user = ‘root’; select host, user from user; flush privileges;
    2. 授权法

      GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; 

猜你喜欢

转载自www.cnblogs.com/Jarris/p/9824234.html