扫盲 2026.11.08 21:30 29 次浏览 0 条评论

MySQL数据表备份

备份说白了就是把表导成一个 SQL 文件,哪天删错了、改崩了,直接导回去。最常用的是 mysqldump,MySQL 自带,不用另外装东西。

# 备份单张表,导成 sql 文件
mysqldump -uroot -p123456 shop goods > /backup/goods.sql

# 一次备多张表,表名后面空格隔开
mysqldump -uroot -p123456 shop goods orders > /backup/two.sql

# 只要表结构不要数据,加 -d
mysqldump -uroot -p123456 -d shop goods > /backup/goods_struct.sql

# 恢复数据,前面是 mysql 不是 mysqldump
mysql -uroot -p123456 shop < /backup/goods.sql

踩过的坑记一下:大表备份会锁表,业务忙的时候加 --single-transaction,这参数只对 InnoDB 管用;-p 后面直接跟密码会留在命令历史里,正式环境就敲 -p 回车再输;备份目录必须给写权限,权限不够会报错,别以为文件生成了就是备成功了。

备完不算完,隔三差五拿个测试库导一次,能导回去才叫备份。要天天备就扔进 crontab,凌晨跑一条省心。

说点什么 0

行思随记

欢迎来到:行思随记