windows10 Docker运行mysql5.7

windows10 Docker运行mysql5.7

1. 拉取官方Docker镜像pull

pull拉取镜像命令

docker pull mysql:5.7
image.png
image.png

2. 检查下载的mysql:5.7镜像

docker images
docker images|findstr mysql
image.png
image.png

3. 配置docker-compose.yml文件

version: '3'

services:
  mysql5.7:
    image: mysql:5.7
    # restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root # 设置root用户密码
    ports:
      - 3306:3306

    volumes: # 挂载持久化地址(个人理解)
      - ./mysql/:/var/lib/mysql/
      - ./conf/:/etc/mysql/

数据文件持久化和配置文件持久化时,在windows环境下,需要把磁盘共享给docker虚拟机

4. 启动 docker-compose

启动mysql

docker-compose up -d

检查数据是否持久化

  • 常用命令
# 后台启动mysql :docker-compose up -d
# 进入mysql容器: docker-compose exec mysql5.7 bash
# 结束mysql容器:docker-compose down
# 停止mysql容器:docker-compose stop mysql5.7
# 重启mysql容器:docker-compose restart mysql5.7

5. 备份数据库

docker-compose exec mysql5.6 bash
mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /home/backup/all-databases.sql```

- 回复数据库

docker-compose exec mysql5.6 bash

mysql -uroot -p"$MYSQL_ROOT_PASSWORD" < /home/backup/all-databases.sql```

6.错误异常处理

6.1 mysql initializing databsase error -- initialize specified but the data directory has files in it. aborting

地址:https://github.com/docker-library/mysql/issues/290

6.2 ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'

已经存在用户root,请勿再次声明,去除下面

MYSQL_USER: root

7. 参考文章

https://www.jianshu.com/p/78b74df22440

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。