首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker-将mysql传输到另一个主机

问docker-将mysql传输到另一个主机
EN

Stack Overflow用户
提问于 2017-12-31 15:31:47
回答 2查看 1.9K关注 0票数 1

我正在使用docker-组合来运行MYSQL容器并将其链接到www-server。

代码语言:javascript
复制
 mysql:
  image: mysql
  container_name: lip-mysql
  ports:
    - "3030:3306"
  environment:
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_DATABASE=user-db
    - MYSQL_USER=user
    - MYSQL_PASSWORD=user
  volumes: 
    - ./etc/mysql:/var/lib/mysql

当我在我自己的电脑上运行时,我想把它转移到生产部门。我做这个

  1. 复制到卷etc/mysql目录到服务器
  2. 然后构建这个码头-合成构建
  3. 然后启动博士-编写-d
  4. 当试图访问数据时。我得到错误“基本表或视图找不到: 1146表‘用户-db.Packages’不存在”。我发现数据库结构在那里,但不能访问数据。

如何将mysql数据移动到新环境?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-02 11:05:41

这是我用的解决办法。

  • 首先,将mysql文件传输到另一个volumes: - ./etc/mysql:/var/lib/mysql服务器。
  • 然后创建docker-compose.yml并导入卷,如posting中所示。
  • 这就是我所拥有的问题。版本编号MYSQL图像。启动mysql时使用相同的版本编号。如果您使用的是最新标签,您应该得到使用mysql_upgrade的错误消息。如果您想使用最新的图像,请使用它。

下面是启动的正确的docker-compose.yml:

代码语言:javascript
复制
mysql:
  image: mysql:5.7
  container_name: lip-mysql
  ports:
    - "3030:3306"
  environment:
    - MYSQL_ROOT_PASSWORD=root
    - MYSQL_DATABASE=user-db
    - MYSQL_USER=user
    - MYSQL_PASSWORD=user
  volumes: 
    - ./etc/mysql:/var/lib/mysql
票数 0
EN

Stack Overflow用户

发布于 2017-12-31 16:31:45

您是否可以从计算机中转储MySQL DB并将其还原到其他环境。

转储DB:

代码语言:javascript
复制
docker exec -it lip-mysql mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql]

恢复DB:

代码语言:javascript
复制
docker exec -it lip-mysql mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]

您还可以将MySQL停靠库图像插入您的停靠库-组合文件中,以避免MySQL引擎更新。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48043713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档