恢復 MySQL 轉儲錯誤 1449
我使用以下命令從我的主 MySQL 數據庫中進行了熱備份(轉儲)
mysqldump -uroot -p –skip-lock-tables –single-transaction –flush-logs –hex-blob –master-data=2 -A > ~/dump.sql
主版本:MySQL-server-5.5.41-1.el6.x86_64
在從機上恢復時,我們收到此錯誤,我做錯了什麼。
$$ root@Slave ~ $$$ mysql -u root -p < dump.sql
Enter password:
ERROR 1449 (HY000) at line 150536: The user specified as a definer (’lipl_ga_app’@’%’) 不存在
從站版本:mysql-community-server-5.6.28-2.el6.x86_64
數據庫很大,我們不想再次開始恢復過程。
@ Nawaz Sohail 我已經從下面的命令中備份了 mysql 使用者
mysqldump -u root -p mysql 使用者 > user_table_dump.sql
已恢復
mysql -u root -p mysql < user_table_dump.sql
我試圖以多種方式解決這個問題,但沒有找到任何解決方法。然後我嘗試通過以下步驟再次重做整個事情。
我從 Master Host 備份了 mysql 使用者,
mysqldump -u root -p mysql 使用者 > user_table_dump.sql
並在slave上恢復mysql使用者,
mysql -u root -p mysql < user_table_dump.sql
然後我在奴隸上恢復了主轉儲。
$$ root@Slave ~ $$$ mysql -u root -p <轉儲.sql
主轉儲已恢復,沒有任何錯誤。
顯然這是一個老問題,但仍然在Google搜尋中名列前茅。我之前也遇到過同樣的問題,看起來就像 Mongrel 之前的回答一樣。但是,當我重新安裝我的電腦時,我使用 進行了轉儲,並且無意中出現了這個錯誤 1449,並且僅從格式化的驅動器中
mysqldump --all-databases
提取數據庫幾乎肯定是不可能的。mysql
.sql
所以,我最終通過編輯轉儲 想出了一個“手動”解決方案:將mysql
數據庫的恢復語句移到頂部。 現在,在非常長的轉儲(GB 大小)上,這很容易出錯。所以,
- 啟動您信任的文本編輯器(我相信
vim
這樣的東西,VS Code 爬行就像打開 GB 大小的文件一樣沒有進展)- 搜尋**目前數據庫:
mysql
**評論/標記。- 選擇從該點到下一個*目前數據庫的文本:*註釋/標記。
- 剪掉它,把它放在第一個目前數據庫評論/標記之前。
之後,我保存了修改後的轉儲,現在轉儲恢復沒有錯誤。