Подавить предупреждение при поиске файла sql обратно в базу данных mysql

0
/opt/mysql/bin/mysqldump -udbuser -pAdmin@123 -h192.167.93.44 -P32083 --single-transaction --set-gtid-purged=OFF --databases mohwscdrdb mohwsecsdb moresourcelifecycledb moorderdb movdcservicedb > ./backup.sql 2>&1 | grep -v "Warning"

Это было выполнено, как я думал, без "Предупреждения: использование пароля.." blablabla.

Но когда я исполняю:

/opt/mysql/bin/mysql -udbuser -pAdmin@123 -h192.167.93.44 -P32083 < ./backup.sql 2>&1 | grep -v "Warning"

для того, чтобы вернуть файл sql без предупреждения, он не работает, говоря:

/' at line 1

Я думаю, это было потому, что у меня есть два разных направления перенаправления (< и >) в одной строке, но как это исправить?

Теги:

2 ответа

0
/opt/mysql/bin/mysqldump -udbuser -pAdmin@123 **> ./backup.sql** 2>&1 | grep -v "Warning"

измените порядок, перемещая перенаправляющую часть до конца команды, сделают это.

/opt/mysql/bin/mysqldump -udbuser -pAdmin@123 2>&1 | grep -v "Warning" **> ./backup.sql**

Кстати, импорт sql должен содержать <./backup.sql в середине команды.

/opt/mysql/bin/mysql -udbuser -pAdmin@123 < ./backup.sql 2>&1 | grep -v "Warning"
0

2>&1 связывает обе файловые дескрипторы вместе. Вы только хотите grep на stderr, поэтому, используя '| &', только stderr переходит в grep.

Итак, на демпинге:

/opt/mysql/bin/mysqldump ... movdcservicedb > ./backup.sql |& grep -v "Warning"
  • 0
    @danblank, спасибо за ответ, но здесь я хочу, чтобы вторая команда оболочки работала правильно ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню