mysqldump命令搭配source命令完成数据库迁移备份

mysqldump 命令使用

需保证mysqld在运行中,

这个命令的目的是将数据库导出到文件中,例如

mysqldump -uusername -ppassword database > db.sql

注意该命令不是在MySQL客户端(即MySQL命令行)执行的,而是在系统命令执行,

该命令默认会在当前所在的文件夹下(即执行命令的文件夹下)生成对应的 .sql 文件,或者指定保存在某个文件夹下,例如,> /home/ubuntu/db.sql

source命令使用

在MySQL客户端中,使用 source 命令可以执行一个 .sql 文件,(前提是该数据库存在,并且被选中)例如

source 文件路径(/home/ubuntu/db.sql)

这两个命令搭配使用,可以快速完成数据库的迁移操作。

在docker中使用的注意事项

在实际项目开发中,可能会使用docker来启动MySQL服务,此时docker中的MySQL服务无法通过source 命令直接读取到外部的文件来进行数据库迁移操作,以下是解决方法

1. 使用 docker cp 命令将外部的 .sql 文件复制到容器内部,

docker cp /home/ubuntu/db.sql mysql(容器名称):/db.sql

然后再执行 source 命令,source /db.sql 即可

2. 使用挂载卷的方式,将 SQL 文件挂载到容器中的目录下,使得主机文件在容器内直接可访问

docker run -d --name mysql -p 3306:3306 -v /home/ubuntudb.sql:/docker-entrypoint-initdb.d/db.sql -e MYSQL_ROOT_PASSWORD=123456 mysql

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rcnhtin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值