docker安装mysql详细图解说明

本篇文章是在linux版本的centos7上操作的,所以请自行先安装好,如果不知道怎么安装,请参考博主的文章。https://blog.csdn.net/qq_30764991/article/details/81843626

如果对您有帮助 ,请多多支持.多少都是您的心意与支持,一分也是爱,再次感谢!!!

 支付宝赞赏:记得点击下面的余额宝,红包可能要大些。注意:余额宝红包有效期三天(72小时) 在有效期内
余额宝红包使用完或过期才能有机会领取下个余额宝红包,感谢大家的支持!您的支持,我会继续分享更多的文章,欢迎关注!

Docker常用命令&操作,当然这里只是docker的命令中的一部分,还有很多命令。

### 1)、镜像操作

| 操作 | 命令                                            | 说明                                                     |
| ---- | ----------------------------------------------- | -------------------------------------------------------- |
| 检索 | docker  search 关键字  eg:docker  search redis | 我们经常去docker  hub上检索镜像的详细信息,如镜像的TAG。 |
| 拉取 | docker pull 镜像名:tag                          | :tag是可选的,tag表示标签,多为软件的版本,默认是latest  |
| 列表 | docker images                                   | 查看所有本地镜像                                         |
| 删除 | docker rmi image-id                             | 删除指定的本地镜像                                       |

docker中央仓库网站:https://hub.docker.com/

安装步骤:

启动docker:[root@admin //]# systemctl start docker
查询docker的版本:[root@admin //]# docker -v
Docker version 1.13.1, build dded712/1.13.1

一:查询找到mysql在docker中的镜像

[root@admin //]# docker search mysql

查询结果如下图所示:

二:下载官方提供的镜像:

[root@admin //]# docker pull mysql

三:查看所有镜像:docker images 说明下载成功,博主这里下载花了几分钟时间,具体根据你的网络情况。

四:初始启动mysql:有几种方式,这里博主推荐两种我常用的启动方式两种方式!!

方式一:[root@localhost ~]# docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql 这种仅限在docker容器中内部访问,但windows是访问不到的,如navicat 与sqlyog等工具通过外部是访问不到的。所以这种是不推荐的!!!!

方式二:[root@admin ~]# docker run -p 3306:3306 --name mysql06 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

629ea6e4693aa457097699aba11a6d19d785cb20dc3ef973cfbec0eea52f7770

以上命令解释说明:3306 表示是端口,端口是不能重叠的。-name mysql06把原来的命名为docker的mysql06容器,因为我们启动的时候是启动docker的具体容器名的。-e MYSQL_ROOT_PASSWORD=123456设置mysql密码为123456,  -d表示后台运行。

接着用windows上的navicat测试连接:博主这里也是遇到一个巨大的坑了,搞了很久,终于把这个问题给解决了!!!!查阅了很久的资料,终于让我把其给弄好!哎.......编码不易,填坑更加不容易。

当博主测试的时候出现如下图所示:

解决思路与办法:

1:查看所有容器:[root@admin ~]# sudo docker ps -a     

2:查看已经启动的容器:

[root@admin ~]# sudo docker ps -s

博主这里是有两个启动的容器

3:若mysql容器未启动,则通过以下命令启动:

sudo docker start mysql06

4:docker容器下命令行连接mysql数据库

  • 首先进入mysql容器的bash终端:
  • sudo docker exec -it mysql02 bash

5:连接mysql:mysql -u root -p

输入密码:123456登录进入

6:查看用户信息:

mysql> mysql> select host,user,plugin,authentication_string from mysql.user;

host为 % 表示不限制ip   localhost表示本机使用    plugin非mysql_native_password 则需要修改密码

所以这样还需要再重新设置修改密码:如下

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

到此就解决了这个问题:

然后使用navicat再测试:

这个是mysql的root密码错误,所以请输入你自己正确的密码(注意:博主的是centos7,所有防火墙的关闭命令与centos6稍有不同,这里有写上,也许你也会碰到这个问题:

service firewalld status ;查看防火墙状态
service firewalld stop:关闭防火墙)

方式三mysql安装方式,这种可以指定mysql的编码与格式:(docker安装mysql其实也简单的,但需要解决windows的navicat对其需要做个修改,这种是设置mysql的编码为utf-8  ,编码的格式为utf8mb4_unicode_ci)

docker run -p 3307:3306 --name mysql03 -e MYSQL_ROOT_PASSWORD=123456 -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

测试的时候同样遇到这个问题:

解决方法与思路与上面一样:

最后测试成功:

 

停止运行中的容器,这里是博主的mysql为例:
docker stop  容器的id

[root@admin //]# docker stop 4ff70d0815af 
4ff70d0815af

再次连接的话就报如下图所示:说明博主的docker中的mysql服务已经关闭了,当然提供不了服务了

docker启动mysql:当我们关闭之后,如若再启动,怎么启动呢?很简单

启动docker:docker start

查看启动的容器:说明博主这里什么也没有启动

[root@admin //]# sudo docker ps -s 说明什么也没有启动
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES     SIZE

[root@admin //]# sudo docker ps -a  查看所有容器

启动mysql容器:也是启动mysql02对应的容器id,这里博主也掉进了一个坑了,启动了很久,

sudo docker start mysql02这样是报错的,启动不了!!!(但好像偶尔也能启动,这里博主暂时还没彻底的弄清原理,所以我的这边正确启动方式是,docker start +启动的容器id

正确启动方式:

[root@admin //]# docker start 4ff70d0815af
4ff70d0815af

再次测试ok!!!!.

ok,致此,我的docker就成功安装了mysql了,哎,不知不觉写这篇文章,博主又花了很久的时间了,编码不易,请支持下博主,非常感谢!

如果对您有帮助 ,请多多支持.多少都是您的心意与支持,一分也是爱,再次感谢!!!

 支付宝赞赏:记得点击下面的余额宝,红包可能要大些。注意:余额宝红包有效期三天(72小时) 在有效期内
余额宝红包使用完或过期才能有机会领取下个余额宝红包,感谢大家的支持!您的支持,我会继续分享更多的文章,欢迎关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值