1.拉取镜像
docker pull mysql
2.启动mysql实例容器
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=mysql_pw -d mysql
--name 为mysql的实例设置别名。 -p 3307为对外暴露的端口。3306是内部端口
-e MYSQL_ROOT_PASSWORD 设置mysql登录密码 -d 以守护进程运行(后台运行) 最后的mysql是镜像名称
3.docker exec -it mysql bash 进入容器内部(mysql为容器名字或者使用容器的id)
4.mysql -u root -p 登录进mysql
5.grant all privileges on *.* to ‘root’@’%’ ; 给用于授予权限
6.flush privileges; 刷新权限
7.本地此时就可以使用docker地址加暴露ip连接上mysql了!!!!
如果使用DBeaver连接,会遇到Public Key Retrieval is not allowed报错。
在数据库名后面添加 ?allowPublicKeyRetrieval=true 即可
如果是在jdbc中就需要在url后面添加即可