本文目錄一覽:
- 1、現在我在學習MySQL,問問怎麼複製粘貼數據庫
- 2、如何複製mysql數據庫到另一台電腦上
- 3、mysql數據庫備份怎麼直接拷貝
- 4、mysql數據庫如何拷貝
- 5、怎麼複製MySQL數據庫
- 6、如何將mysql中的數據導到另一個mysql數據庫中?
現在我在學習MySQL,問問怎麼複製粘貼數據庫
兩種方法:
1、在「SQL Server 配置管理器」中將你的SQL SERVER服務停止,然後將你安裝數據庫文件中的data文件夾下的 你的數據庫名.mdf和你的數據庫名.ldf文件夾拷給別人,最後拿到該文件的人,直接在mssql2005的「SQL Server Management Studio」工具中,用附加數據庫的方式添加即可。
2、在你電腦上的「SQL Server Management Studio」工具中找到你要用來傳的數據庫名,在上面點右鍵–任務–備份數據庫。為其指定一個目錄後,點保存。之後會生成一個文件,你直接將該文件拷貝給你要給的人。拿到這個備份文件的人,首先要在他電腦的「SQL Server Management Studio」工具中新建一個空數據庫,且該數據庫名要和你電腦上的那個名稱一致,最後在這個數據庫名上點右鍵–任務–還原–數據庫,選中剛才的那個備份文件,點確定也可以還原。
如何複製mysql數據庫到另一台電腦上
有兩種辦法。 1、在B機器上裝mysql。 將A機器上的mysql/data下的你的數據庫目錄整個拷貝下來。 將B機器上的mysql服務停止。 找到B機器上的mysql/data目錄,將你拷貝的目錄粘貼進去,然後啟動mysql服務就可以了。 2、使用SQL語句備份和恢復 你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢複數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。 語法: SELECT * INTO {OUTFILE ¦ DUMPFILE} 』file_name』 FROM tbl_name LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 』file_name.txt』 [REPLACE ¦ IGNORE] INTO TABLE tbl_name SELECT … INTO OUTFILE 』file_name』在dos命令提示符下使用mysqldump命令進行備份. 如下: C:\Documents and Settings\Administratormysqldump yinshi c:\\backup.txt -uroot -p12142022
mysql數據庫備份怎麼直接拷貝
我知道的
有四種方法。
1、全備份,可以直接把
data目錄下該數據庫目錄直接打包保存。
2、使用mysqldump
保存成sql文件。
3、保存bin-log日誌,(屬於增量備份)
4、用備份工具,多備份。定時自動備份,長遠看來,省時省力,比較推薦。
mysql數據庫如何拷貝
你先導出來你所要的數據庫(你也可以備份,複製出來)再把你導出的數據copy到另一台電腦中。在另一台電腦再導入你所要的數據庫就可以了。
怎麼複製MySQL數據庫
項目上 MySQL 還原 SQL 備份經常會碰到一個錯誤如下,且通常出現在導入視圖、函數、存儲過程、事件等對象時,其根本原因就是因為導入時所用賬號並不具有SUPER 權限,所以無法創建其他賬號的所屬對象。ERROR 1227 (42000) : Access denied; you need (at least one of) the SUPER privilege(s) for this operation常見場景:1. 還原 RDS 時經常出現,因為 RDS 不提供 SUPER 權限;2. 由開發庫還原到項目現場,賬號權限等有所不同。
處理方式:
1. 在原庫中批量修改對象所有者為導入賬號或修改 SQL SECURITY 為 Invoker;2. 使用 mysqldump 導出備份,然後將 SQL 文件中的對象所有者替換為導入賬號。
二、問題原因我們先來看下為啥會出現這個報錯,那就得說下 MySQL 中一個很特別的權限控制機制,像視圖、函數、存儲過程、觸發器等這些數據對象會存在一個 DEFINER 和一個 SQL SECURITY 的屬性,如下所示:
–視圖定義CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`%` SQL SECURITY DEFINER VIEW v_test
–函數定義CREATE DEFINER=`root`@`%` FUNCTION `f_test()` RETURNS varchar(100) SQL SECURITY DEFINER
–存儲過程定義CREATE DEFINER=`root`@`%` PROCEDURE `p_test`() SQL SECURITY DEFINER
–觸發器定義CREATE DEFINER=`root`@`%` trigger t_test
–事件定義CREATE DEFINER=`root`@`%` EVENT `e_test`
DEFINER:對象定義者,在創建對象時可以手動指定用戶,不指定的話默認為當前連接用戶;
SQL SECURITY:指明以誰的權限來執行該對象,有兩個選項,一個為 DEFINER,一個為 INVOKER,默認情況下系統指定為 DEFINER;DEFINER:表示按定義者的權限來執行; INVOKER:表示按調用者的權限來執行。
如果導入賬號具有 SUPER 權限,即使對象的所有者賬號不存在,也可以導入成功,但是在查詢對象時,如果對象的 SQL SECURITY 為 DEFINER,則會報賬號不存在的報錯。ERROR 1449 (HY000): The user specified as a definer (‘root’@’%’) does not exist
改寫好處:1. 可以避免還原時遇到 DEFINER 報錯相關問題;2. 根據輸出信息知道備份是否正常進行,防止備份中遇到元數據鎖無法獲取然後一直卡住的情況。
如何將mysql中的數據導到另一個mysql數據庫中?
把雙方的mysql服務都停掉,直接把導出方的數據表文件(就是和數據庫表名對應的.frm.myd.myi文件)拷到導入方(注意一個表有三個文件),然後改一下數據表文件名成你要導入的表名,然後啟動mysql服務
,如果導入方原來的表有數據,可以把原來的數據用正常方式導出,然後在工具裏面導入合併就可以了,
再有一個可行的方法就是自寫代碼一行一行的轉移數據了
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/159901.html