1.查找镜像:
docker search mysql
也可以去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:https://hub.docker.com/_/mysql/
2、下载镜像,不指定版本则为最新版本
docker pull mysql
3、通过镜像创建容器并运行
docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
4、此时,用SQLyog连接mysql,如果发现报错:Client does not support authentication protocol requested by server。。。
解决方案:
1、查看容器id
docker ps
2、进入容器
docker exec -it 946a9024c9f9 /bin/bash
3、进入mysql
mysql -uroot -p 或mysql -h 容器ip地址 -uroot -p
4、授权:
mysql> GRANT ALL ON *.* TO 'root'@'%';
5、刷新权限:
mysql> flush privileges;
6、更新加密规则:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
7、更新root用户密码:
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
8、刷新权限:
mysql> flush privileges;
9、重新用MySql客户端SQLyog连接,测试成功!