使用Docker构建MySQL

构建MySQL

  1. 首先现在mysql镜像:docker pull mysql
  2. 启动mysql:
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.22
  1. 删掉启动mysql代码上第二句从新启动mysql:
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.22
  1. 以交互形式进入mysql:docker exec -it mysql bash
  2. 将max_allowed_packet=128m追加到/etc/mysql/mysql.conf.d目录下的mysql.cnf中:
    echo "max_allowed_packet=128" >> mysql.cnf
  3. 退出容器到主机:重启mysql:docker restart mysql
  4. 将容器的文件复制到宿主机上:在主机的/usr/local/docker/mysql/conf 目录下:将容器的文件复制过来:docker up mysql:/etc/mysql
  5. 将mysql目录下的文件移动到上级目录:mv *.* ..
  6. 删除mysql文件夹:rm -fr mysql
  7. 先将之前的mysql容器停掉:docker stop mysql
  8. 删除/usr/local/docker/mysql目录下的data/删除:rm -fr data/
  9. 重新启动mysql:docker restart mysql
  10. 此时会连不上数据库:删除已启动的mysql:docker rm -f mysql
  11. 然后启动mysql
  12. 此时可连接mysql
  13. 数据卷配置成功

猜你喜欢

转载自blog.csdn.net/yumu1234567/article/details/89243839