最近做一個項目,為了方便查詢,建了好多的視圖表,正式上線的時候需要把本地數據庫遷移到服務器上。
按照常規方法:
1、“導出sql”,“導入sql”,發現視圖沒過去,過去了也用不了;
2、拷貝本地數據庫文件夾,在服務器粘貼數據庫文件夾,同樣發生上面的問題。
原因是:
1、在本地建立的視圖里面直接帶有本地數據庫名稱,如果服務器上面的數據庫名稱與本地不一樣,會報類似“數據庫不存在,或表不存在”的錯誤;
2、在本地建立視圖的時候使用的用戶名是root,而在服務器使用數據庫的時候不一定是root,這時候會報“權限不足”的錯誤;
3、我也試着解決上面兩個問題,發現還有n多個問題....下面就不去循環了。
在百度了N遍后終於找到解決辦法:
首先下載 Navicat Premium 這是一款mysql數據庫管理軟件,注意,我們平常使用的Mysql數據庫軟件大多是 Navicat for mysql 各位別弄混淆了
1、找到要遷移的數據庫
2、點工具里面的“數據傳輸”
3、設置本地源,設置目標服務器和數據庫
到這里,大功告成
注意,如果到最后一步的時候,未能成功將視圖遷移過去,可能是因為目標服務器用戶名未使用 root ,把目標服務器用戶名改為root 基本可以解決問題。