基于 Docker 的 MySQL 导入导出数据

  1. 查看容器名称或ID

    1
    2
    3
    ➜  docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"
    CONTAINER ID NAMES STATUS PORTS
    33223943f76a lnmpa_mysql_1 Up 12 hours 0.0.0.0:3306->3306/tcp
  2. 导出

    1
    ➜  docker exec -it lnmpa_mysql_1 mysqldump -uroot -p123456 -P 3306 $DATABASE_NAME > $DATABASE_NAME_20181108_001.sql
  3. 导入

    1
    ➜  docker exec -i lnmpa_mysql_1 mysql -uroot -p123456 $DATABASE_NAME < $DATABASE_NAME_20181108_001.sql

    注意:这里与导出不同,需要将参数 -it 更换为 -i ,否则会报错:cannot enable tty mode on non tty input