2017-07-30 68 views
0

我在MariaDB 10.1.25中有一個db,在這裏我有很多表和20個視圖。 當我嘗試使用mysqldump備份我的數據庫時,它對錶的工作正常,但在視圖定義中,它無法像創建表一樣創建create語句。 產生的代碼是這樣的:MariaDB中的視圖定義不是用mysqldump創建的

-- 
-- Temporary table structure for view `qry_clientes` 
-- 

DROP TABLE IF EXISTS `qry_clientes`; 
/*!50001 DROP VIEW IF EXISTS `qry_clientes`*/; 
SET @saved_cs_client  = @@character_set_client; 
SET character_set_client = utf8; 
/*!50001 CREATE TABLE `qry_clientes` (
    `Id` tinyint NOT NULL, 
    `Cliente` tinyint NOT NULL, 
    `Direccion` tinyint NOT NULL, 
    `Ciudad` tinyint NOT NULL, 
    `Fono` tinyint NOT NULL, 
    `Fax` tinyint NOT NULL, 
    `Email` tinyint NOT NULL, 
    `Ruc` tinyint NOT NULL, 
    `tipo` tinyint NOT NULL 
) ENGINE=MyISAM */; 
SET character_set_client = @saved_cs_client; 

並且在這裏沒有視圖定義。我擁有所有的優惠權限

回答

2

通常,在mysqldump備份腳本中,視圖首先被創建爲表格,然後在創建每個視圖時被放置在腳本的底部。

有時在這個過程中有一個錯誤,因爲當一個視圖被創建時有一個用戶被用作DEFINER。該語句可能失敗,因爲該用戶可能不存在於數據庫中。

請驗證最後是否存在視圖放置/創建腳本,寫入您正在收到的錯誤(如果您正在獲取)並使用-v選項運行導入以進行更多日誌記錄。

+0

是的,這是正確的我創建de轉儲文件並壓縮它,然後通過phpmysadmin在其他電腦加載爲導入文件,併成功運行 –

+0

我很高興我可以幫助我的朋友:) –