数据库怎么备份表 备份表会锁表吗

  可以通过数据库原生命令或者可视化管理工具两种方式完成单表或多表备份,操作门槛不高,多数场景都能快速完成。

  A. 使用数据库原生命令备份:这是服务端常用的备份方式,MySQL场景可使用命令`mysqldump -u用户名 -p 库名 要备份的表名 > 存储路径/备份文件名.sql`,PostgreSQL可使用`pg_dump 库名 -t 表名 > 存储路径/备份文件.sql`,执行后等待命令完成就能得到备份文件。

  B. 使用可视化工具备份:适合新手或者本地开发场景,常用的Navicat、DataGrip、phpMyAdmin都支持这个功能,只要连接好数据库后,右键点击目标表,找到导出选项,选择需要的备份格式(sql、csv、xls都可以),跟着向导完成设置就能导出备份。

  C. 解答备份表是否锁表的问题:这个问题要分场景看,默认参数下用`mysqldump`备份MySQL的InnoDB表时,会加全局读锁直到备份结束,小表锁表时间极短几乎感知不到,大表备份可能会影响业务运行;如果加上`--single-transaction`参数就可以实现不锁表的热备份,可视化工具导出小表时,锁表时间很短,一般不会对业务产生明显影响。

  日常做表备份尽量避开业务高峰时段,大表备份一定要提前配置好参数,避免锁表影响正常业务运行。

网友评论0