我们在日常开发过程中大多数都会用到mysql,在开发环境上由于没有生产环境那么严谨,因此大多数情况下我们为了方便都会直接使用docker来启动一个mysql。下面我们就来说一下centos上如何使用docker来安装一个mysql。
第一步:创建文件夹
mkdir -p /home/pubserver/mysql
创建上诉文件夹主要是要把mysql的文件挂载到本地的某个目录下,我们目前是拟定把数据文件挂载到 /home/pubserver/mysql/data下。
第二步:查看mysql的docker镜像,执行如下命令查看mysql的所有镜像
docker search mysql
执行结果是:
可以看到mysql有很多镜像,我们这里以安装mysql5.7为例。
第三步:执行下列命令,拉取mysql5.7的镜像
docker pull mysql:5.7
等下拉取成功。
第四步:执行下列命令,查看拉取的mysql5.7镜像
docker images
第五步:启动docker,并把数据目录挂载到/home/pubserver/mysql/data下
docker run -d -p 3306:3306 --privileged=true -v /home/pubserver/mysql/conf/my.cnf:/etc/my.cnf -v /home/pubserver/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
这里如果使用docker-compose部署mysql5.7的话,对应的配置文件是:
version: "3" services: mysql: image: mysql:5.7 container_name: mysql privileged: true restart: always environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 123456 ports: - 3306:3306 volumes: - /home/pubserver/mysql/conf/my.cnf:/etc/my.cnf - /home/pubserver/mysql/data:/var/lib/mysql command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
这时候mysql5.7就安装和启动完了,下面我们验证一下
第六步:进入到docker容器中
docker exec -it mysql bash
看到上图就代表mysql安装和启动成功了,即可以正常使用了。
第七步:我们再到/home/pubserver/mysql/data目录下看mysql的文件
后续:
1、如果要重启mysql,则执行
docker restart mysql
2、如果要修改mysql的配置文件,则修改的地方在
/home/pubserver/mysql/conf
备注:
如果在启动的时候报错:Error response from daemon: Cannot restart container mysql: oci runtime error: container_linux.go:290: starting container process caused "container init exited prematurely",则主要是my.cnf文件需要初始化一下,操作步骤如下:
#进入到mysql的配置文件目录 cd /home/pubserver/mysql/conf #删除掉自动创建的my.cnf文件夹 rm -rf my.cnf #创建一个my.cnf touch my.cnf #把下面的内容拷贝进去 [mysqld] server_id=1002 #设置server_id,同一局域网中需要唯一 #再重启下mysql docker restart mysql
还没有评论,来说两句吧...