一、备份方式

如何选择
100G数据以内,逻辑备份没问题,服务器配置要跟上
100G 以上,建议物理备份
二、逻辑备份
把数据库、表,以SQL语句的形式,输出为文件的备份过程,这种方式称之为逻辑备份。
但是这种方式效率并不高,以SQL导出,在海量数据下,例如几十G的场景,备份、恢复的时间都会过长。
1.mysqldump备份
mysqldump是mysql自带的备份工具,可以实现本地备份,远程备份。
mysqldump备份语法:
mysqldump -u用户名 -p密码 -h指定主机地址 -P 指定mysql端口 参数 数据库名 > 数据备份文件.sql
全量备份
--all--database,-A 转储所有数据库中的所有表。
# mysqldump -u用户名 -p'密码' -A > /mysql_backup/all_db.sql
指定数据库备份
---database,-B 可以转储指定几个数据库。
-B可以跟上多个数据库名,同时备份多个库
指定备份库,以及所有数据
# mysqldump -u用户名 -p'密码' -B 库名 > /mysql_backup/文件名.sql
备份单个数据表
单独指定备份某个表
# mysqldump -u用户名 -p'密码' 库名 表名 > /mysql_backup/文件名.sql
备份多个数据表
# mysqldump -u用户名 -p'密码' 库名 表1 表2 > /mysql_backup/文件名.sql
备份数据库的指定表和特定数据
mysqldump -u用户名 -p密码 库名 表名 --where="限制条件" > /mysql_backup/文件名.sql
mysqldump -h 172.21.61.5 -P 4000 -u root -p'T36AP#%mvj_7' ls_slfh_fireproofing_test ffp_basis_obstacles --where="1 =1 limit 100" > /mysql_backup/ffp_basis_obstacles.sql
只要备份结构,不备份数据
有些情况下会只需要表结构,不要数据,命令如下
--no-data,-d 不写表的任何行信息。
mysqldump -u用户名 -p'密码' -d 库名 > /mysql_backup/文件名.sql
mysqldump -u用户名 -p'密码' -d 库名 表名 > /mysql_backup/文件名.sql
只要备份表数据,不备份结构
--no-create-info,-t 不写重新创建每个转储表的CREATE TABLE语句。
mysqldump -u用户名 -p'密码' -t 库名 表名 > /mysql_backup/文件名.sql
备份且压缩数据
对于数据库有大量数据表,以及信息,导出的备份文件,最好是压缩后的,节省磁盘。
mysqldump -u用户名 -p'密码' 库名 表名 | gzip > /mysql_backup/文件名.sql.gz
恢复数据库
mysql -h ip -u用户名 -p'密码' 库名 < /mysql_backup/文件名.sql;
使用source导入:use 数据库名; source /sql文件路径
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性