一、拉取数据库镜像,根据自己的需求找到对应的 mysql 版本, 通过docker pull命令下载。可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docker.com/_/mysql?tab=tags,我们这里选择5.7版本
命令:docker pull mysql:5.7
然后查看镜像是否下载成功,命令:docker images
二、配置Mysql,创建mysql目录,用于存放mysql相关配置及数据
mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
~ : ”/“是根目录,”~“是家目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。
而每个用户都有”家“目录,也就是用户的个人目录,比如root用户的”家“目录就是/root,普通用户a的家目录就是/home/a
创建完成后,在当前用户的home目录(root用户在root目录),会有三个文件夹。
三、运行mysql容器,命令:docker run -p 3309:3306 --name wwhmysql -v ~/wwh/mysql/conf:/etc/mysql/conf.d -v ~/wwh/mysql/logs:/logs -v ~/wwh/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
命令说明:
启动完成后,查看运行状态,命令:docker ps
安装好查看data目录的数据,命令:pwd
四、远程连接数据库
注意:如果防火墙打开了,要把3309端口号加到防火墙中,要么就关闭防火墙
centos7关闭防火墙,命令:systemctl stop firewalld.service
centos7查看防火墙的状态,命令:firewall-cmd --state
centos7开放端口号:
firewall-cmd --add-port=3309/tcp --permanent
firewall-cmd --add-port=3309/udp --permanent
firewall-cmd --reload
五、打开Navicat进行连接,注意端口号,密码为:123456