docker安装mysql详细图解说明
本篇文章是在linux版本的centos7上操作的,所以请自行先安装好,如果不知道怎么安装,请参考博主的文章。https://blog.csdn.net/qq_30764991/article/details/81843626
如果对您有帮助 ,请多多支持.多少都是您的心意与支持,一分也是爱,再次感谢!!!
记得点击下面的余额宝,红包可能要大些。注意:余额宝红包有效期三天(72小时) 在有效期内 余额宝红包使用完或过期才能有机会领取下个余额宝红包,感谢大家的支持!您的支持,我会继续分享更多的文章,欢迎关注!" class="reference-link">支付宝赞赏:
记得点击下面的余额宝,红包可能要大些。注意:余额宝红包有效期三天(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了,哎,不知不觉写这篇文章,博主又花了很久的时间了,编码不易,请支持下博主,非常感谢!
还没有评论,来说两句吧...