一、导出备份

1、mysqldump命令

mysqldump 是 MySQL 自带的逻辑备份工具

导出单个数据库

mysqldump -h hostname/ip地址 -P 端口号 -u mysql用户名 -p mysql密码 --databases 数据库名s > /路径/生成的文件名.sql

1.1、导出表

1.1 .1 导出表结构及数据

mysqldump -u root -p --set-gtid-purged=OFF database table1 table2 > mysqldump.sql

--set-gtid-purged=off : 
加了--set-gtid-purged=OFF时,会记录binlog日志;如果不加,不记录binlog日志。所以在我们做主从用了gtid时,
用mysqldump备份时就要加--set-gtid-purged=OFF,否则你在主上导入恢复了数据,主没有了binlog日志,同步则不会被同步。

1.1.2 只导出表结构

mysqldump -u root -p --set-gtid-purged=OFF -d database table1 table2 > mysqldump.sql


-d参数:等价于-–no-data,含义是不导出任何数据,只导出数据库表结构;

1.1.3 只导出数据

mysqldump -u root -p --set-gtid-purged=OFF -t database table1 table2 > mysqldump.sql

-t参数:等价于—no-create-info,含义是只导出数据,而不添加CREATE TABLE语句;

 

1.1.4 导出单张表 

 (1)导出表结构及数据(有where条件)

mysqldump -u root -p --set-gtid-purged=OFF database table --where "限制条件" > mysqldump.sql

(2)只导出数据(有where条件)

mysqldump -u root -p --set-gtid-purged=OFF --no-create-info database table --where "限制条件" > mysqldump.sql

 

 

1.2、导出数据库

1.2.1 导出所有数据库

mysqldump -u root -p --all-databases > mysqldump.sql

1.2.2 导出单个数据库

mysqldump -u root -p --databases db1 > mysqldump.sql

1.2.3 导出多个数据库 

mysqldump -u root -p --databases db1 db2 > mysqldump.sql

 

mysql -h ip地址 -P 端口 -u mysql用户名 -p mysql密码  要导入到的数据库名 < ./文件名 .sql

二、导入

1、mysql命令

1.1、导入表

mysql -u root -p database < mysqldump.sql

1.2、导入数据库

mysql -u root -p < mysqldump.sql

参考:https://www.cnblogs.com/faberbeta/p/msqldump001.html

 

2、source命令

进入mysql数据库控制台,如
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:/dbname.sql