1,导出备份
要导出MySQL数据库中的数据,使用mysqldump
命令。假设要导出名为mydatabase
的数据库到名为backup.sql
的文件中:
mysqldump -u 用户名 -p 数据库名 > backup.sql
参数说明:
- -u mysql用户名称
- -p 执行后会要求输入密码
提示输入密码,输入正确密码后,数据库将被导出到backup.sql
文件中,如下图:
线上备份(重点)不影响线上业务,不锁表:
mysqldump -uroot -p --skip-lock-tables --skip-add-locks --single-transaction dbname > dbname.sql
关键参数介绍:
--skip-lock-tables :默认备份是锁表的,设置不锁表。
--skip-add-locks :少数特殊情况备份时会增加锁,设置不增加锁。
--single-transaction :针对innodb引擎的表单事物,开始会自动关闭锁表功能
有兴趣的可以自己看 官网文档介绍:
MySQL :: MySQL 5.7 Reference Manual :: 4.5.6 mysqlpump — A Database Backup Program
2,导入还原
将导出的数据库导入到另一个MySQL服务器数据库中,可以使用mysql
命令。以下是一个示例:
mysql -u 用户名 -p 目标数据库名 < backup.sql