docker容器中的mysql数据库的导入导出

docker_do

服务器在使用了 Docker 后,对于备份和恢复数据库的事情做下记录:

由于 docker 不是实体,所以要把mysql的数据库导出到物理机上,命令如下:

  1. 查看下 mysql 运行名称
    docker ps
    

    结果:

    docker_ps

  2. 执行导出(备份)数据库命令:

    由第一步的结果可知,我们的 mysql 运行在一个叫 mysql_server 的 docker 容器中。而我们要备份的数据库就在里面,叫做 test_db。mysql 的用户名密码均为root,我们将文件备份到/opt/sql_bak文件夹下。

    docker exec -it  mysql_server mysqldump -uroot -proot test_db > /opt/sql_bak/test_db.sql
    
  3. 执行导入(恢复)数据库命令:

    目的:由第二步导出的sql文件,复制一个数据库。

    • 创建一个空白的数据库:
      docker exec -it mysql_server mysql -uroot -proot
      create database test_db_copy;
      
    • 导入数据:
      docker exec -i mysql_server mysql -uroot -proot test_db_copy < /opt/sql_bak/test_db.sql
      

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

    OK,到这里就结束了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值