Mysql
使用 xargs 導入 sql 文件
我有許多 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