您可能需要使用“SELECT ... INTO OUTFILE”和“LOAD DATA INFILE INTO TABLE”命令。
编辑:详细说明...
给定表结构:
CREATE TABLE my_local_table (
id int NOT NULL auto_increment PRIMARY KEY,
data varchar(20),
created_on datetime);
CREATE TABLE server_table (
id int NOT NULL auto_increment PRIMARY KEY,
data varchar(20),
created_on datetime,
local_id int);
还有一些虚假数据:
INSERT INTO my_local_table (data, created_on) VALUES ('test', now()), ('test2', now());
您将使用以下命令:
SELECT id, data, created_on
FROM my_local_table
WHERE created_on >= '2011-08-18'
INTO OUTFILE '/tmp/t.txt';
-- (and on the server)
LOAD DATA LOCAL INFILE '/tmp/t.txt'
INTO TABLE server_table
(local_id, data, created_on);
要自动执行这两个操作,您可以使用 bash 脚本/批处理文件调用 mysql,首先使用第一个语句连接到本地服务器,然后连接到执行第二个语句的远程服务器。
mysql -e 'SELECT....';
mysql -h remote_server -e 'LOAD DATA...';