Docker运行MySql镜像

1、先拉取MySql5.6镜像(也可以拉取默认版本,若Mysql镜像默认版本latest为8.0以上,Navict连接会报错,最下方有解决方法),成功拉取之后,使用docker images命令查看。

属性

说明

REPOSITORY

表示镜像的仓库源

TAG

镜像的标签,即版本latest为默认最新的版本

IMAGE ID

镜像ID

CREATED

镜像创建时间

SIZE

镜像大小

2、运行mysql容器

启动一般命令如下:

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

正常使用docker启动mysql容器,当关闭容器时,容器中的数据会消失,所以要将mysql容器中的数据持久化到主机上,持久化数据启动mysql容器命令如下:

docker run -p 3306:3306 --name mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d

  -v /usr/local/mysql/logs:/logs

  -v /usr/local/mysql/data:/var/lib/mysql

  -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

命令

说明

-p 3306:3306

将主机的3306端口映射到Docker容器的3306端口

–name mysql

指定运行的服务的名字为mysql

-v /usr/local/mysql/data:/var/lib/mysql

将主机/usr/local/mysql/data目录挂载到容器指定目录

-e MYSQL_ROOT_PASSWORD=123456

初始化root用户密码为123456

-d

后台运行开启的服务

mysql:5.6

指定运行的服务和版本

3、查看运行中的容器docker ps,获取容器ID

 

属性

说明

CONTAINER ID

容器ID

IMAGE

镜像名

PORT

端口

NAMES

容器名

 

4、进入运行成功的容器(根据容器ID)

         (1)win10下:

               docker exec  -it  mysql  bash

            

            

         (2)Linux下:

                           docker  exec  -it  mysql  /bin/bash

 5、连接mysql:

        mysql -u root -p        

 6、Navicat连接Docker的mysql容器:

       报错:ERROR 1130 (HY000): Host '172.25.124.254' is not allowed to connect to this MySQL server

     

这个返回结果说明现在 root 用户只允许在服务器的本地登录。

执行如下命令:

           update user set host='%' where user='root';

然后重启 MySQL 服务就可以了。

     docker restart mysql

Navicat就可以正常连接了

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上庸者-不服周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值