一
备份数据
mysqldump -h$host -P$port -u$user --add-locks=0 --no-create-info --single-transaction --set-gtid-purged=OFF db1 t --where="a>900" --result-file=/client_tmp/t.sql
导入数据
mysql -h127.0.0.1 -P$port -uroot db2 -e "source /client_tmp/t.sql"
二
导出数据
select * from db1.t where a>900 into outfile '/server_tmp/t.csv';
into outfile 指定了文件的生成位置(/server_tmp/),这个位置必须受参数 secure_file_priv 的限制。参数 secure_file_priv 的可选值和作用分别是:如果设置为 empty,表示不限制文件生成的位置,这是不安全的设置;如果设置为一个表示路径的字符串,就要求生成的文件只能放在这个指定的目录,或者它的子目录;如果设置为 NULL,就表示禁止在这个 MySQL 实例上执行 select … into outfile 操作。
导入数据
load data infile '/server_tmp/t.csv' into table db2.t;