前言
mysql server 的安装极其繁琐,而且安装失败之后再次安装就不行了(很多系统上都是如此),但是如果使用Docker,这项工作就会变得非常简单
一步搞定
docker run -p 3306:3306 --name some-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5
依次解释各个参数
docker run : 用docker命令运行一个容器
MYSQL_ROOT_PASSWORD=123456 指定了mysql server的密码是123456. (默认用户名是root)
接下来测试一下
我们这里在windows机器上面Navicat连接测试一下
解释一下: 这里我windows机器与docker宿主机器在同一个WIFI网络中。 docker宿主机器的ip地址是 10.100.49.148,你在测试中IP地址应该和我的不一样哦!
centos上面查看机器的IP地址的命令是: ip a
总结
是不是非常简单?以前安装mysql的痛苦还记得吗?没想到使用docker一行命令就搞定了,所谓工欲善其事必先利其器
就是这个道理吧。
并且你可以在同一台linux机器上面安装多个版本的mysql server哦,对于开发测试实在是太方便了,有木有?
常见问题
数据库连接不成功?容器内部的服务无法被外部访问?
- 检查docker宿主机器是否开启了防火墙,如果有请关闭防火墙。或者将宿主机器的端口加入到防火墙白名单。容器的端口没有关系,不需要做什么。
- docker运行容器时,千万不能忘记 -p 参数,这个参数决定了docker 容器内部的服务可以被外部访问
- 用docker container ls检查你的容器是否启动成功了,很多情况不要忘记了 -d 参数,这个参数可以让容器后台运行。
几天之后再使用docker,找不到此命令?容器也不在了?
- 很可能是你的宿主机器重启了,你需要重新启动docker服务,这很简单,尝试:
service start docker 或者 systemctl start docker
同理既然你的docker服务都重启了,那么你的容器也是需要被重启的,因为他们现在都处于stop状态,可以尝试:
//查看所有的docker容器,包括运行中的、停止的。 docker container ls -a // 输入你要启动的容器名称,它可以是一个名字也可以是一串字符串ID docker start <your container name>
- 很可能是你的宿主机器重启了,你需要重新启动docker服务,这很简单,尝试:
如果你怎么都尝试不成功,可以试试docker重启大法,这不是开玩笑,非常有效!
systemctl stop docker systemctl start docker
← 看小栗子之前 MongoDB数据库安装 →