简体   繁体   English

mysql docker容器块在导入数据(OSX)时

[英]Mysql docker container block while it's importing data (OSX)

I'm working with two containers: server (php+apache) and mysql (image). 我正在使用两个容器:服务器(php + apache)和mysql(image)。 I'm using the latest docker version and OSX El Capitan. 我正在使用最新的docker版本和OSX El Capitan。

This is my docker-compose.yml: 这是我的docker-compose.yml:

server:
    build: docker/images/server
    ports:
        - "80:80"
        - "443:443"
    volumes:
        - .:/var/www/html
    links:
        - mysql
    tty: true
mysql:
    image: mysql
    environment:
        MYSQL_ROOT_PASSWORD: root
        MYSQL_USER: user
        MYSQL_DATABASE: test
    volumes: 
        - "./.data/db:/var/lib/mysql"

When I'm importing my mysql dump, after 15-20 minutes the process blocks. 当我导入mysql转储时,在15-20分钟后,该过程将阻塞。 I use this command to show a process bar: 我使用此命令显示进程栏:

pv database_dump.sql | mysql -uroot -proot test

The database_dump.sql is approximately 3.5GB. database_dump.sql约为3.5GB。

Do I have to do some extra steps before starting to import my dump? 开始导入转储之前,我是否需要做一些额外的步骤?

Thank you! 谢谢!

Solution

Finally, I had to create a new container with Ubuntu 14.04 and MySQL. 最后,我不得不使用Ubuntu 14.04和MySQL创建一个新容器。 I don't know why, the official MySQL container didn't work when I tried to import my database. 我不知道为什么,当我尝试导入数据库时​​,官方的MySQL容器不起作用。

最简单的方法是使用MySQL Workbench并连接到数据库URI并导入转储

Try importing using 尝试使用导入

cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE

Source: https://gist.github.com/spalladino/6d981f7b33f6e0afe6bb 资料来源: https : //gist.github.com/spalladino/6d981f7b33f6e0afe6bb

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM