Назад | Перейти на главную страницу

Отправка большого файла команд MySQL

У меня есть большой файл инструкций вставки MySQL, который мне нужно отправить в базу данных.

Обычно я просто «cat $ FILE | mysql -u $ USER -p $ PASS database».

Проблема в том, что в файле иногда есть ошибки, из-за которых эта команда не выполняется.

это безопасно пропускать строки с ошибками, но нежелательно повторно отправлять одни и те же данные более одного раза.

Я написал сценарий bash, который работает, за исключением случаев, когда файл большой, это занимает слишком много времени (он удаляет каждую строку после ее обработки, поэтому прерывание сценария не приведет к повторной отправке данных, что является медленным процессом )

Почему бы вам просто не предоставить mysql параметр --force и использовать ваш cat | mysql ....

--force, -f
  Continue even if an SQL error occurs.

Я считаю mysql --force говорит клиенту продолжить после ошибок