程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mysql恢復數據報ERROR 1308 : LEAVE with no matching label

Mysql恢復數據報ERROR 1308 : LEAVE with no matching label

編輯:MySQL綜合教程

Mysql恢復數據報ERROR 1308 : LEAVE with no matching label


趕緊看備份日志,日志如下: ---------------------------------- ===BEG:20151108 01:00:01===== ===FTP:20151108 01:00:05===== ===CLS:20151108 01:00:07===== ===OPT:20151108 01:00:08===== ===END:20151108 01:00:08===== ----------------------------------   日志並沒有什麼異常,既然說有問題,那就恢復一下吧 為了加快恢復的速度,先設置參數: mysql> SET  sql_log_bin = 0 SET  autocommit=0; SET  net_buffer_length=10485760; SET  innodb_flush_log_at_trx_commit=0; SET  sync_binlog=0   mysql> source 備份文件   發現果然報錯了:   ERROR 1308 (42000) at line 2428811: LEAVE with no matching label: loo 查看備份文件的242881行,發現這一行是創建存儲過程的語句,而且這個存儲過程沒有備份完整,這就是恢復出錯的原因   為什麼備份的時候存儲過程沒有備份完整呢?這個問題再研究,先解決問題吧,把備份數據和備份存儲過程分開   /usr/local/mysql/bin/mysqldump -uroot -pxxxx   --default-character-set=utf8 -n -d -t -R  --databases  xxxx  >R.sql   參數說明如下: -n:   --no-create-db -d:   --no-data -t:   --no-create-info -R:   --routines      Dump stored routines (functions and procedures)   恢復備份的存儲過程和函數   mysql < R.sql   補充:為了查找為什麼mysqldump備份的時候存儲過程會沒有備份完整,我查看了其他幾天的備份文件,存儲過程都是備份完整的,只有一種解釋,我同事給我的那份備份文件被損壞了。。。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved