版本: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恢復順利進行,可是數據庫鏈接仍是會斷開一次,從新登陸下就行了。