Mariadb
Mysql:在 mysqldump 中設置變數
我最近在 mmy.cnf max_statement_time=120 中添加了一個全域變數;停止長時間執行的查詢並拋出異常。它工作正常。然後我無法執行 mysqldump 來備份我的所有數據庫,顯然我們有大型數據庫,所以使用 mysqldump 備份將需要幾個小時,因為我在這裡只將 max_statement_time 添加到 120 秒。那麼我如何通過 mysqldump 將其作為會話變數傳遞,以將其設置為僅用於 mysqldump 的小時,而全域值本身仍保持 120 秒。顯然我追求的是下面的東西:
mysqldump --max_statement_time=1000000 -u root -pMYPASS --all-databases > file.sql
我們有什麼選擇嗎?我通過 mysqldump 發現它有 –variable-name=value ,但它不接受這個。我正在使用 Mariadb 10.2 版本。
我相信您應該能夠通過將會話變數放在
backup.cnf
文件中來指定它:max_statement_time=10000
然後使用
--defaults-file=backup.cnf
參數來mysqldump
。(您還可以將使用者憑據放在該文件中,這樣您就不必在命令行上顯示使用者名和密碼,這是一個潛在的安全問題。)
我建議你創建一個新使用者只是為了傾銷。給它
SUPER
特權,讓它可以做它需要的事情。並且還給它無限max_execution_time
。那麼你在猜測的地方就不需要額外的參數了。