数据库的备份,迁移
08.14自我总结
数据库的备份
一数据库的备份
1.单库备份
复制mysqldump -uroot -p123 db1 > db1.sql #库名
mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql #库名 表名
2.多库备份
复制mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
3.备份所有库
复制mysqldump -uroot -p123 --all-databases > all.sql
二.备份恢复
1.退出数据库后
复制mysql -u -p < filename.sql;
2.在数据库内
- 创建空数据库
- 选择数据库
- 然后使用source filename; 来进行还原
例如
复制use db1;
source /root/db1.sql
三.数据库迁移
复制务必保证在相同版本之间迁移
# mysqldump -h 源IP -uroot -p123 --databases db1 | mysql -h 目标IP -uroot -p456
四.备份高阶
1.常用参数
- -B:表示的是指定多个库,增加了建库语句和use数据库的语句。
- -compact:去掉注释,适合调试输出,不适合在生产环境使用。
- -A: 表示的是本分所有的库。
- -F:刷新binlog日志,方便进行增量的恢复。
- –master-data:增加binlog日志文件名及其对应的位置点。
- -x,–lock-all-tables :在备份的时候进行锁表,保持数据的一致性。
- -d:只备份表的结构。
- -t : 只备份数据库中的数据
- –single-transaction 适合innodb数据库的备份。
2.-B备份
单库
复制备份test中的所有表
mysqldump -uroot -ppassword -B test >/tmp/test.sql
多库
复制mysqldump -uroot -ppassword -B 库1 库2 >/tmp/test.sql
3.使用gzip进行压缩数据备份
复制mysqldump -uroot -ppassword -B 库1 库2 |gzip >/tmp/test.gz
4.备份时候切割binlog日志:(进行增量备份的时候可以用到)
复制-F 的作用就是备份数据库的时候,将binlog日志进行重新刷新。
mysqldump -uroot -ppassword -t -B -F test
5.备份的时候会记录指定文件的位置以及mysqlbinglog的文件名称
复制--master-data=1 的作用就是备份数据库的时候,将binlog日志进行重新刷新
mysqldump -uroot -ppassword -t -B -F --master-data test
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理