如何在crontab上使用mysqldump不需要手動輸入密碼?

一般我們在命令行執行 mysqldump 指令時,都需要加入參數 -p,在交互式的情況下輸入存取資料庫的密碼。

但當我們需放置 mysqldump 指令在 crontab 上執行時,就沒有交互式的方式輸入密碼,那只好把密碼寫進一個配置文檔裹,讓指令在執行時自動取得配置文檔裹設置好的密碼和其它設置參數。

設置流程:

  1. 建立一個配置文檔
    $ touch /etc/.my.cnf
  2. 在配置文檔設置連接參數,不需要的參數可以不用設置
    $ vim /etc/.my.cnf

    [mysqldump]
    host = MySQL IP 或 域名
    port = MySQL port 端口
    user = 用戶帳號
    password = 用戶密碼
  3. mysqldump 執行指令,指令格式 mysqldump –defaults-file=/etc/.my.cnf 資料庫名稱 > 存放路徑
    $ mysqldump --defaults-file=/etc/.my.cnf db_demo > /tmp/db_demo.sql

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

*

驗證碼 * Time limit is exhausted. Please reload CAPTCHA.

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解我們如何處理網站訪客的留言資料