docker安装mysql详细图解说明

野性酷女 2022-05-16 10:22 353阅读 0赞

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

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

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

查询结果如下图所示:

70 1

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

[root@admin //]# docker pull mysql

70 2

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

70 3

四:初始启动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测试连接:博主这里也是遇到一个巨大的坑了,搞了很久,终于把这个问题给解决了!!!!查阅了很久的资料,终于让我把其给弄好!哎…….编码不易,填坑更加不容易。

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

解决思路与办法:

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

70 5

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

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

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

70 6

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;

70 7

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

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

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

70 8

到此就解决了这个问题:

然后使用navicat再测试:

70 9

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

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

70 10

方式三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

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

70 4

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

最后测试成功:

70 11

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

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

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

70 12

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 查看所有容器

70 13

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

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

正确启动方式:

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

再次测试ok!!!!.

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,353人围观)

还没有评论,来说两句吧...

相关阅读