Mac上将brew安装的MySql改用Docker执行

Submitted by admin on Mon, 10/17/2016 - 01:26

docker是最近大热的技术,堪称技术界的网红。本着技术人折腾的本性,尝试将本地的MySql服务器改成用docker执行,本文记录折腾过程,以作备忘。

步骤如下:

1:安装docker

自己找文档去

2:使用mysql官方发布的docker image,命令如下

docker pull mysql/mysql-server:5.7.16 ##(这是本文发布时候MySql最新稳定版,并且最好和本地的Mysql版本一致,否则第三步可能会有问题。)

因为GFW的缘故,这个过程有点漫长。命令执行完之后,执行"docker images"看到有mysql-server字样即表示成功了。


3:运行docker images,有几个注意点

a:端口号问题,默认情况下3306被占用了,所以用其他端口进行映射,比如6603

b:数据文件映射问题,可以通过执行"ps -ef|grep mysql"查看。 查看--datadir选项的部分。以mac下brew安装的mysql为例,结果是

--datadir=/usr/local/var/mysql

确认好如上问题之后,执行如下命令:

docker run --name my-mysql-server -p 6604:3306 -d -v /usr/local/var/mysql:/var/lib/mysql mysql/mysql-server:5.7.16

然后执行"docker ps -a"看看是否有名为my-mysql-server的容器在运行。如果有的话,恭喜你,你应该成功了。


4:管理mysql,有两种方式:

a:进入mysql的docker环境进行执行。执行命令如下即可,其他操作与普通管理方式一样。

docker exec -it my-mysql-server bash

b:在外部使用mysql命令或其他mysql客户端软件链接。需要注意,主机名部分,如果用localhost不行的话,试试127.0.0.1一般可以。如果还是有问题,需要重新配置下权限表了。