Mysql

使用 xargs 導入 sql 文件

  • April 16, 2018

我有許多 sql 文件要導入。對於單個文件,我使用以下命令:

mysql -u root -p dbname < db.sql

是否可以使用 xargs 批量導入所有文件?就像是: ls *.sql | xargs ....

我知道 mysqlimport 是解決方案,但我想知道 xargs 是否可行。

xargs適合將輸入轉換為命令行參數。但由於mysql不接受 SQL 腳本文件名參數,xargs在這種情況下並不好用。

這是一個有用的用法cat

cat *.sql | mysql -u root -p dbname

無論如何,您嘗試以ls這種方式使用會導致著名的Why you should not parse the output of ls(1)文章。

如果您的 sql 文件彼此獨立,則並行導入它們可能會更快:

parallel -j10 sql mysql://root:passwd@/dbname '<' {} ::: *.sql

觀看 GNU Parallel 的介紹影片以了解更多資訊:https ://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

引用自:https://unix.stackexchange.com/questions/52698