Docker安装MySQL服务

    xiaoxiao2022-07-02  163

    Docker官方mysql镜像

    MySQL文档地址: https://hub.docker.com/_/mysql/


    一、拉取MySQL镜像

    $ sudo docker pull mysql

    mysql:[TAG]默认mysql为最新latest版本,添加版本号自定义版本,我选择mysql:5.7.21版本镜像

    之后docker会自动拉取(下载)MySQL镜像。

    注意:

    从Docker官方拉取比较漫长,等待时间长,建议配置阿里云或网易云加速器,从阿里云或网易云仓库拉取镜像

    拉取成功后我们查看一下:

    $ sudo docker images

     

     


    二、创建并启动一个MySQL容器

    输入以下命令:

    测试运行mysql: $ sudo docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.21 生产环境请把mysql配置文件和数据文件挂在宿主机: $ sudo docker run --restart=always --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v /opt/mysql/config/my.cnf:/etc/my.cnf -v /opt/mysql/data:/var/lib/mysql -d mysql:5.7.21 解释: run:创建并运行容器 --name mysql:设置运行容器名称 -e MYSQL_ROOT_PASSWORD=123456:设置密码为123456 -p 3306:3306:接收宿主机3306端口信息,打开容器3306端口并映射到3306 -v /opt/mysql/config/my.cnf:/etc/my.cnf:把容器/my.cnf配置信息挂载到宿主机/my.cnf路径 -v /opt/mysql/data:/var/lib/mysql:把容器/mysql数据信息挂载到宿主机/data路径 -d mysql:使用守护进程运行myssl

     

     

    –name:给新创建的容器命名,此处命名为mysql-e:配置信息,此处配置mysql的root用户的登陆密码-p:端口映射,此处映射主机3306端口到容器mysql的3306端口-d:守护容器后台启动,成功启动容器后输出容器的完整ID,例如上图 a34584af3ba9bb...最后一个mysql指的是mysql镜像名字

    到这里我们查看容器运行状态:

    $ sudo docker ps

     

     

    上图可以看到容器的简写ID,容器的源镜像,创建时间,状态,端口映射信息,容器名字等。


    三、测试连接MySQL

    这里我使用navicat远程连接,连接MySQL前需要防火墙开放端口或者关闭防火墙。

    开放端口:

    查看已打开的端口   netstat -anp 查看想开的端口是否已开 # firewall-cmd --query-port=3306/tcp    提示no表示未开 开永久端口号 firewall-cmd --add-port=3306/tcp --permanent   提示    success 表示成功 重新载入配置  # firewall-cmd --reload    比如添加规则之后,需要执行此命令 再次查看想开的端口是否已开  # firewall-cmd --query-port=3306/tcp  提示yes表示成功 若移除端口 # firewall-cmd --permanent --remove-port=3306/tcp

    关闭防火墙:

    查看防火墙状态  # systemctl status firewalld   running 状态即防火墙已经开启   dead 状态即防火墙未开启 开启防火墙,# systemctl start firewalld  没有任何提示即开启成功 开启防火墙 # service firewalld start       关闭防火墙 # systemctl stop firewalld     centos7.3 上述方式可能无法开启,可以先#systemctl unmask firewalld.service 然后 # systemctl start firewalld.service

    接着使用SQLyon连接 

     

    连接成功,也可以进行相关数据库操作,因此MySQL服务搭建成功!

    最新回复(0)