django執行mysql恢復的時候出現「The request's session was deleted before the request completed. The user may ha

版本:python

django:2.1.7mysql

python:3.7sql

mysql:5.7.25數據庫

 

今天在用django作mysql備份和恢復的時候,備份沒問題,恢復時出現以下錯誤提示:django

The request's session was deleted before the request completed. The user may have logged out in a concurrent request, for example.session

恢復的命令以下:異步

recoverycmd = "mysql -u" +DB_USER + " -p"+DB_USER_PASSWD+" " +DB_NAME+" < "+sql_file
os.system(recoverycmd)

由於我是在二級頁面中選擇備份的腳本文件,一開始覺得os.system是異步執行的,致使二級頁面結束跳轉到一級頁面了,一想又不對,那也頂多提早跳出完成提示,不會打斷恢復啊。函數

全部確定是被什麼打斷了,而後測試了一下,發現每次錯誤時,登陸都會退出。原來,函數前加了下面的語句:測試

@login_required(login_url='/login')

致使了恢復過程當中,數據庫鏈接已經斷開,驗證用戶登陸,致使驗證失敗,恢復過程被中斷出現異常。ui

 

結論:因而,把這個語句刪除,mysql恢復順利進行,可是數據庫鏈接仍是會斷開一次,從新登陸下就行了。

相關文章
相關標籤/搜索