我跟着這個鏈接,但功能仍然不會導入到我的測試數據庫。mysqldump函數導入mysql數據庫的正確方法是什麼?
http://www.ducea.com/2007/07/25/dumping-mysql-stored-procedures-functions-and-triggers/
是什麼做的正確方法是什麼?我還以爲我做了一個完整的數據庫轉儲,而且他們也沒有將它放到測試數據庫中。
這是我用的只是功能的命令:
mysqldump --routines=true --no-create-info --no-data --no-create-db --skip-opt --skip-triggers db > outputfile.sql -u dev -p
編輯:
望着轉儲文件,我沒有看到任何看起來像功能(只有四個,他們在名稱中有「標記」)。
-- mySQL dump 10.14 Distrib 5.5.50-MariaDB, for Linux (x86_64)
--
-- Host: localhost Database: db
-- ------------------------------------------------------
-- Server version 5.5.50-MariaDB
/*!40103 SET @[email protected]@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */;
--
-- Dumping routines for database 'db'
--
/*!40103 SET [email protected]_TIME_ZONE */;
/*!40101 SET [email protected]_SQL_MODE */;
/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;
/*!40111 SET [email protected]_SQL_NOTES */;
-- Dump completed on 2017-08-24 16:29:45
這樣就可以解釋這一點。基於命令他們不會在那裏的任何理由?
而且,我使用導入的內容:
sudo mysql test_db < outputfile.sql -u dev -p
我看到那個命令沒有錯。你檢查過這個文件嗎?它是否包含例程?除了導出命令之外,導入到測試數據庫的另一個原因是不能正常工作:導入命令不正確。所以也許還要加上那部分。 – Solarflare
良好的呼叫...更新。 – sockpuppet
我沒有看到'true'是否需要在文檔中添加:'--routines = true'?我想知道這是否會使它成爲未知參數,並且可能是爲什麼沒有輸出。請改用這個命令:'mysqldump - 例程 - 無創建信息 - 無數據 - 無創建數據庫 - 禁用 - 選項 - 禁用觸發器數據庫>輸出文件.sql -u dev -p' –