這可能是一個很長的,但.. 是否有可能在存儲過程中複製整個數據庫佈局(表,視圖,過程,一切)與查詢或多個查詢?從mysql內複製一個mysql數據庫?
基本上尋找相同的功能,如果我會用mysqldump這樣
# mysqldump -u root -ppassword --no-data --routines dbname > file
//create database copyofdbname
# mysql -u root -ppassword copyofdbname < file
是否有可能做到這一點mysql的過程中無需任何外部工具?
我想我可以通過使用'show tables'來完成表格,然後迭代結果以獲得每個表格的'create table'表達式並將它們轉發到新的數據庫中。
這只是推測,但不知道如何從數據庫中這樣複製存儲過程。
看起來不錯,我不知道複製的表會如此簡單。以爲我必須得到'SHOW CREATE TABLE tblname'並且讓一些東西變得很糟糕。但是如何將存儲過程從舊數據庫複製到新數據庫?它們是存儲在信息模式表中的什麼東西。 –
不是存儲過程方面的專家,但是如果您有權訪問信息模式,它看起來像存儲在「例程」表中。所以你應該能夠查詢它們,循環結果,併爲該循環中的新數據庫創建語句。 – invertedSpear
我試圖讓這個工作,但我堅持一件事。我無法創建一個從變量命名的數據庫。 'CREATE DATABASE in_dbname;'將創建一個實際名爲'in_dbname'的數據庫,而不是該變量的值。 –