后台運行導入數據庫



這周遇到一個情況:需要將大數據量的sql數據導入到數據庫中,由於時間很長,不能一直開着終端連着筋服務器,所以就想到了后台運行進程的方法

  • 其實后台運行方法很簡答,nohup命令讓進程不掛起,末尾加上&來后台運行。

  • 舉例:nohup /opt/haha.sh & 后台運行腳本

  • 數據庫導入后台運行:

  • 導入數據庫命令:nohup Mysql -uroot -p密碼 庫名< sql文件地址 &

  • 講道理沒有毛病,但是報錯,說不能在終端上顯示密碼,這樣不安全,處理辦法:將密碼寫入數據庫配置文件/etc/my.cnf,添加如下內容

[client]
user=root
password=***
  • 導入數據庫命令:Mysql 庫名< sql文件地址 &
  • 后台運行:nohup Mysql 庫名< sql文件地址
  • 講道理是沒毛病了,那就關閉終端試一下,重新打開,通過ps -ef查看進程,結果進程關閉了。
  • 我以為nohup不起作用,所以編寫了一個死循環腳本,關閉終端后確是可以運行的,所以問題可能出在數據庫導入的 < 這個符號。
  • 通過搜索nohup怎么處理 < ,查到一片博客跟我相似問題,他的解決方法是,不能直接關閉終端,而是在nohup命令之后通過exit退出,不然會斷掉該進程所對應的session,導致nohup對應的進程被通知一起shurdown。結果他是對的。

總結

  • 排出多種可能,最后就能找到原因所在。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM