Hi,
I have several hosts from which i want to do the same query. So imagine, i have on each server the database db and a table test like :
mysql> desc test;
+-------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------------+------+-----+---------+-------+
| id | int(10) unsigned | NO | PRI | | |
| data | varchar(255) | YES | | NULL | |
+-------+------------------+------+-----+---------+-------+
Obviously, each table test has different data but they all have the same type. Let's say i have 2 host : h1 and h2 which host these tables.
Now i need to write a script which do the same query on each host and get the results on standard output. first idea was :
shell> (mysql -h h1 -u myusername -p mypwd -d db -e "select * from test";
mysql -h h2 -u myusername -p mypwd -d db -e "select * from test";)
> out.txt
I want to do it faster, so what i did was :
shell> (mysql -h h1 -u myusername -p mypwd -d db -e "select * from test" &
mysql -h h2 -u myusername -p mypwd -d db -e "select * from test" &)
> out.txt
The problem is that i have some collision in my output file like
458 Karma police
459 876 Paint it black Everything in its right place
460 street spirit
You have two rows on line 2.
My idea was that mysql buffer the result, so the buffer could end in the middle of a row. In this example, the buffer would stop at 459. But i can't figure out how to solve the problem.
Any ideas ?