docker中安装mysql并远程连接访问
之前我发了在windows7中安装docker,这边安装docker完成后,为了提要docker的便利方便,这边来安装mysql以做体验,不过安装完成后,给人感觉docker真的不在污染自己电脑环境,可以简单安装软件,而mysql是比较安装繁琐,卸载麻烦的
windows中安装mysql
- 刚开始进入docker的控制界面,这边还是推荐使用安装目录下的start.sh来进入,因为这个进入比较方便可以复制黏贴,当然也可以直接cmd进入;
- 在打开界面后使用命令
2.1 搜索mysql
docker search mysql:5.7
这里搜索命令,如果后面不添加版本号的话,用 docker search mysql 搜索的结果 都是 最新的版本(可以跳过)
2.2 下载mysql
docker pull mysql:5.7
这里的命令是下载搜索到的,这边pull后面的名称 根据search中选择的,同理也是 可以不接版本号,那么直接下载的是最新的 8.0版本,有需要朋友可以选择5.6或者5.5修改版本号即可
2.3 运行mysql
下载好后使用命令来将加载的镜像打包成容器
docker run --name dockermysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
参数解析
run:运行一个容器
-d 以守护进程运行(后台运行) 最后的mysql是镜像名称
-p:进行端口映射,用于暴露给外界让其访问,第一端口是对外暴露的,第二个是对内暴露的接口
-e:初始化root用户的密码,MYSQL_ROOT_PASSWORD 设置mysql登录密码
–name:自定义容器名称
这边运行后可以用命令来查看docker运行容器的情况
docker ps
查看正在运行的容器
docker ps -a
查看所有的容器,包括停止的
前者是容器的id,后者是名称
2.4 进入mysql修改
docker exec -it mysql:5.7 bash
进入容器内部 dockermysql 是上边运行时为容器取的别名 也可以用id替代
注:如果进入失败的话,是权限问题,可以用管理员运行cmd 来进入操作,或者在命令前面加winpty 在输入命令操作即可
mysql -u root -p
进入mysql内部,之后输入密码
grant all privileges on *.* to ‘root’@’%’ ;
给用于授予权限
flush privileges;
刷新服务
之后退回即可,退出可以用exit 也可以ctrl+d
远程navicat访问mysql
- 命令获取ip
docker-machine.exe ip
来获取docker的ip
- 通过虚拟化操作获取ip
完成上述操作启动mysql后,就是要用navicat来连接mysql了,首先docker在windos上启动是虚拟环境启动的,所以用lockhost来作为连接访问是失败的,所以需要在虚拟机中查看配置的情况
查看虚拟机设置
切换至 “全局工具” 查看 适配器2的设置:
因为环境中只启动了mysql一个容器,故而从 192.168.99.100开始;
在本机打开 navicat新建连接 服务器地址填写 192.168.99.100 测试连接,成功连入!