禁止将sql文件发回mysql数据库时发出警告

2cmtqfgy  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(290)
/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"

就像我想的那样运行,没有“警告:使用密码…”的废话。
但当我执行时:

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

为了在不发出警告的情况下恢复sql文件,它失败了,原因是:

/' at line 1

我想是因为我有两个不同的方向( < 以及 > )在一行,但如何解决这个问题?

vc9ivgsu

vc9ivgsu1#

2>&1 将两个文件描述符绑定在一起。您只想在stderr上grep,因此通过使用“|&”,只有stderr才能进入grep。
关于倾销:

/opt/mysql/bin/mysqldump ... movdcservicedb > ./backup.sql |& grep -v "Warning"
fae0ux8s

fae0ux8s2#

/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"

相关问题