下载MySQL镜像
Docker Hub链接:https://hub.docker.com/_/mysql?tab=description
这里使用mysql 8.0.27版本
$ docker pull mysql:8.0.27
创建/启动/配置MySQL容器
基于镜像 mysql:8.0.27
创建名为 mysql-8.0.27-container
的mysql容器,并设置 root
用户密码为 ********
(记得映射3306端口到宿主机的3306端口):
$ docker run
--restart=always
--privileged=true
--name mysql-8.0.27-container
-e MYSQL_ROOT_PASSWORD=********
-p 3306:3306
-d
mysql:8.0.27
如果需要将数据卷(/var/lib/mysql
)和配置文件(/etc/mysql/conf.d
)挂载到宿主硬盘的数据卷(/home/muyao/mysql
)和(/home/muyao/conf
),还需使用-v
做一下映射以下参数,这里仅将数据卷进行映射。完整命令:
$ docker run --name mysql-8.0.27-container -e MYSQL_ROOT_PASSWORD=******** -v /home/muyao/mysql:/var/lib/mysql -p 3306:3306 -d mysql:8.0.27
启动成功!
进入容器运行mysql命令开启远程权限并刷新权限:
$ docker exec -it mysql-8.0.27-container bash
$ mysql -u root -p
> grant all privileges on *.* to root@'%' with grant option;
> flush privileges;
执行上述命令。
执行结果。可以看到,root应的host成了%,即允许全部ip。
连接测试
使用vscode的db插件NoSQL进行连接测试,成功。(踩坑:开始没有做3306的映射,导致没有连接成功。)