之前介绍过使用docker安装nginx,redis,这节介绍docker安装mysql,因为这些都是常用的软件,而正式安装又比较麻烦,在开发或者测试以及临时使用的时候就会很方便。
安装MySQL之前先要测试下是否安装好了Docker,通过docker images命令来查看,这是查看docker下的所有镜像,我这里新安装了docker,但是还没有拉过镜像,所以是空的。
接着拉取MySQL的镜像,为了防止不同的mysql版本有些许的差异,这里直接指定版本mysql5.7来使用,因为默认拉取的是最新版本,后期更新之后会出其他更高版本。使用docker pull mysql:5.7,不加版本的话默认是拉取的最新版本,拉取完成后可以再使用上面的命令查看下docker下的所有镜像.
拉取后到目录/usr/local 中新建文件夹mysql,并在文件夹中新建,conf,data,log三个文件夹,其中在conf文件夹中新建文件my.cnf,这是mysql的配置文件,后期要挂在到容器中。
mysql中配置如下
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
如果你使用的是云服务器,要将服务器的安全组中开放3306端口,我这里是阿里云ECS服务器
配置完成后启动容器
docker run -d -p 3306:3306 --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
启动后可以通过docker ps -a查看所有容器,看mysql是否正常运行
此时可以用navicat等工具测试连接情况,因为在命令里已经指定了账号密码,这里不用再去重新设置了,账号:root,密码:123456
测试完成可以正常连接,至此,docker安装mysql安装完毕