导出数据库
mysqldump -h ip-u username -p databasename >/保存的文件路径/文件名.sql
导入数据库
使用mysqldump 命令导出的文件,不可以使用可视化工具直接运行,应该使用命令执行
source 文件路径+文件名
注意1:
导出时会出现Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events
原因1:
当前数据库实例中开启了 GTID 功能, 在开启有 GTID 功能的数据库实例中, 导出其中任何一个库, 如果没有显示地指定–set-gtid-purged参数, 都会提示这一行信息. 意思是默认情况下, 导出的库中含有 GTID 信息, 如果不想导出包含有 GTID 信息的数据库, 需要显示地添加–set-gtid-purged=OFF参数.
解决1:
- 导出的时候加上参数:–set-gtid-purged=OFF
mysqldump -h ip-u username -p --set-gtid-purged=OFF databasename >/保存的文件路径/文件名.sql
注意2
到出时出现mysql 导入出现mysqldump:Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') FROM information_schema.COLUMN_STATISTICS
原因2:
因为新版的mysqldump默认启用了一个新标志,通过- -column-statistics=0来禁用他
解决2:
mysqldump -h ip-u username -p --set-gtid-purged=OFF --column-statistics=0 databasename >/保存的文件路径/文件名.sql