docker安装mysql服务显得很快捷,我们如果使用了docker-compose那就更快了,我们只需要按照我们的要求,设置相应的端口映射,如果有需求,也可以设置数据映射。
配置如下:
docker-compose.yml
version: "2"
services:
mysql:
restart: always
image: mysql:5.7.16
container_name: mysql-server
volumes:
- /data/mysql/db:/var/lib/mysql
- /data/mysql/logs:/var/log/mysql
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=root
主要的配置是这里面的environment下的环境变量MYSQL_ROOT_PASSWORD,我们最好设置一个密码,如果不设置密码,其实也可以设置其他的变量,就是设置容许空密码登录MYSQL_ALLOW_EMPTY_PASSWORD。另外镜像指定mysql:5.7.16,其实指定版本只要是能够手动安装的基本都可以。volumes磁盘映射:数据库文件的映射,主要是为了备份考虑,其实也可以不用设置。
启动,检查本机监听:
我这里的目录是/data/mysql,配置文件docker-compose.yml就在该目录,所以启动命令就很简单了docker-compose up -d。如果你的配置文件不叫docker-compose.yml,或者文件放置在别的地方,那么就需要增加一个参数-f来指定docker-compose-xxx.yml了。
本地端口绑定的是3306,ip使用的是0.0.0.0,外部可以接入。
进入容器:
docker exec是一个进入容器的指令,因为我们在配置文件中指定了container_name: mysql-server,所以在这里就可以指定容器名称mysql-server了,另外参数-it是以交互模式启用一个伪终端。/bin/bash是进入容器执行的指令,运行该指令,我们就可以进行命令行操作了,有的时候可能是/bin/sh。
进入容器,我们通过连接mysql,进入mysql命令行,查询mysql数据库的用户,其中root用户host为%,表示外部连接可以接入。