借鉴:https://www.cnblogs.com/Jasper-changing/p/13924977.html
一、导出备份
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