Eu posso salvar o erro no mesmo arquivo como padrão. Eu usei esse método abaixo.
O problema é que o erro é "sempre" mostrado no topo. No exemplo abaixo, o erro está relacionado ao segundo último comando sql, no qual o valor "india" não pode ser salvo. A mensagem de erro deve ser mostrada ao lado dessa declaração e não na parte superior do arquivo.
# cat import.txt
drop table if exists testme;
create table testme (id int , name varchar(255));
insert into testme values (1, 'abc');
insert into testme values (2, 'abc', 'india');
insert into testme values (3, 'xyz');
# mysql test -vvf < import.txt >standard.txt 2>&1
# cat standard.txt
ERROR 1136 (21S01) at line 5: Column count doesn't match value count at row 1
--------------
drop table if exists testme
--------------
Query OK, 0 rows affected
--------------
create table testme (id int , name varchar(255))
--------------
Query OK, 0 rows affected
--------------
insert into testme values (1, 'abc')
--------------
Query OK, 1 row affected
--------------
insert into testme values (2, 'abc', 'india')
--------------
--------------
insert into testme values (3, 'xyz')
--------------
Query OK, 1 row affected
A saída esperada será algo como isto ...
# mysql test -vvf < import.txt
--------------
drop table if exists testme
--------------
Query OK, 0 rows affected
--------------
create table testme (id int , name varchar(255))
--------------
Query OK, 0 rows affected
--------------
insert into testme values (1, 'abc')
--------------
Query OK, 1 row affected
--------------
insert into testme values (2, 'abc', 'india')
--------------
ERROR 1136 (21S01) at line 4: Column count doesn't match value count at row 1
--------------
insert into testme values (3, 'xyz')
--------------
Query OK, 1 row affected
O erro deve ser colocado exatamente ao lado da declaração a que se refere. Ou então o arquivo de saída redirecionado não é útil.