Mysql数据备份和还原

一、备份 

1、备份一个数据库

mysqldump基本语法:
mysqldump -u username -p dbname table1 table2 ... > BackupName.sql

示例:
mysqldump -u root -p owncloud  > owncloud.sql 其中: dbname参数表示数据库的名称; table1和table2参数表示需要备份的表的名称,为空则整个数据库备份; BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;

2、备份多个数据库

备份多个数据库:
mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql   #加上了--databases选项,然后后面跟多个数据库

示例: mysqldump
-u root -p --databases owncloud mysql > backup.sql  
备份所有数据库: mysqldump -u username -p -all-databases > BackupName.sql  
示例: mysqldump
-u -root -p -all-databases > all.sql

3、备份数据库表部分数据:

备份前1000条数据:
mysqldump -u root -p --set-gtid-purged=OFF kamailio acc_cdrs --where=" 1 limit 1000" > acc_cdrs.sql;

4、只备份表数据或表结构

只备份数据:
mysqldump -t -u root -p zabbix history > history.sql

只备份结构:
mysqldump -d -u root -p zabbix history > history.sql

二、数据还原

还原使用mysqldump命令备份的数据库的语法如下:
mysql -u root -p [dbname] < backup.sq

示例:
mysql -u root -p < backup.sql
还原直接复制目录的备份: 通过这种方式还原时,必须保证两个MySQL数据库的版本号是相同的。MyISAM类型的表有效,对于InnoDB类型的表不可用,InnoDB表的表空间不能直接复制。

如果报错:
ERROR 1193 (HY000) at line 24: Unknown system variable 'GTID_PURGED'
就直接进数据库执行来进行还原:
source *.sql

 
原文地址:https://www.cnblogs.com/chimeiwangliang/p/8284479.html