我用的是mysql 8.0.12版本
1. docker pull mysql:8.0.12
下载mysql 8.0.12版本
2. docker run -p 3307:3306 --name mysql8012 -e MYSQL_ROOT_PASSWORD=123 -d mysql:8.0.12
https://hub.docker.com/_/mysql 官网给的是:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
说明:
some-mysql :容器名称 my-secret-pw :数据库密码 tag :版本
3306的端口被占用了,换成3307, 所以命令如下:
3. docker exec -it mysql8012 bash
进入容器
4. mysql -uroot -p123
进入容器后执行
5. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';
修改用户的密码和加密方式
6. flush privileges
刷新权限
完成以上6步,就可以用navicat 连接mysql 了。
设置完成后,开启关闭mysql, 通过名称就可以,如下:
docker start mysql8012
docker stop mysql8012
更改名称 docker rename mysql8012 mysql8013