本文目錄一覽:
- 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-tw/n/159901.html