Docker快速搭建Mysql服务
Docker搭建镜像服务主要是考虑服务的版本号,端口映射和挂载目录问题。
注意:本文前提默认已安装docker服务
先确认自己需要的MySQL版本,MySQL版本之间差别还是挺大的, 常用的mysql5.7,mysql8,处于习惯,我喜欢使用5.7,所以这里以mysql5.7为例子
拉取mysql:5.7镜像
docker pull mysql:5.7
拉取速度可能很慢,可以选择设置阿里云作为镜像仓库,速度能大大提升,具体做法参考其他文章
创建宿主机挂载目录,将数据卷,cnf,日志及cnf配置文件等挂载到宿主机目录,这里目录地址选择/data/docker/mysql5.7/
# 创建mysql数据data文件存放目录
mkdir -p /data/docker/mysql5.7/data
# 创建mysql配置文件存放目录
mkdir -p /data/docker/mysql5.7/conf
mkdir -p /data/docker/mysql5.7/conf/conf.d
mkdir -p /data/docker/mysql5.7/conf/mysql.conf.d
# 创建mysql日志存放目录
mkdir -p /data/docker/mysql5.7/logs
运行镜像,需要携带一些参数
docker run \
--name mysql5.7 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=Sr970511# \
-v /data/docker/mysql5.7/data:/var/lib/mysql \
-v /data/docker/mysql5.7/conf:/etc/mysql \
-v /usr/local/docker_data/mysql/logs:/var/log/mysql \
-d mysql:5.7
验证服务启动情况
# 进到mysql容器内部
docker exec -it mysql:5.7 /bin/bash
# 登录mysql
mysql -uroot -p123456
开启远程连接权限
#设置mysql远程权限
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
#刷新权限
flush privileges;
在确保宿主机端口没做防火墙拦截,以及服务器运行商管理台没做规则限制,应该就能通过第三方软件对数据库进行连接了。
另外还可以做文件挂载,文件夹映射到宿主机,下次再补充。