测试版本mysql5.6
导出所有数据库信息
1.使用命令:mysqldump -h127.0.0.1 -hroot -proot --all-database>f:/all.sql;
如果需要忽略不必要的数据库可以使用如下命令:
mysql -e "show databases;" -uroot -proot | grep -Ev "Database|information_schema|mysql|test" | xargs mysqldump -uroot -proot --databases > mysql_dump.sql
2.导入
mysqldump -h127.0.0.1 -hroot -proot <f:/all.sql;
导入是如果报错:
ERROR 1839 (HY000) at line 24: @@GLOBAL.GTID_PURGED can only be set when @@GLOBAL.GTID_MODE = ON.
那么在导出的时候需要加参数:--set-gtid-purged=off
常见选项:
--all-databases, -A: 备份所有数据库
--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。
--force, -f:即使发现sql错误,仍然继续备份
--host=host_name, -h host_name:备份主机名,默认为localhost
--no-data, -d:只导出表结构
--password[=password], -p[password]:密码
--port=port_num, -P port_num:制定TCP/IP连接时的端口号
--quick, -q:快速导出
--tables:覆盖 --databases or -B选项,后面所跟参数被视作表名
--user=user_name, -u user_name:用户名
--xml, -X:导出为xml文件