A. 如何復制mysql資料庫到另一台電腦上
這種架構一般用在以下三類場景
1. 備份多台 Server 的數據到一台如果按照數據切分方向來講,那就是垂直切分。比如圖 2,業務 A、B、C、D 是之前拆分好的業務,現在需要把這些拆分好的業務匯總起來備份,那這種需求也很適用於多源復制架構。實現方法我大概描述下:業務 A、B、C、D 分別位於 4 台 Server,每台 Server 分別有一個資料庫來隔離前端的業務數據,那這樣,在從庫就能把四台業務的數據全部匯總起來,而不需要做額外的操作。那沒有多源復制之前,要實現這類需求,只能在匯總機器上搭建多個 MySQL 實例,那這樣勢必會褲州掘涉及到跨庫關聯胡核的問題,不但性能急劇下降,管理多個實例也沒有單台來的容易。
B. 怎麼復制MySQL資料庫
打開phpMyAdmin
輸入
帳號密碼
成功後
新建一個數亂冊據庫
選孝銷擇導入
下面有導入格式巧陪游選擇
點執行
不明
Q下面
C. 現在我在學習MySQL,問問怎麼復制粘貼資料庫
這宴搭老得看你的數據表是什麼存儲引擎,
新建的數據表默認是InnoDB
數據表的存儲引擎是可以更改的
隨便進入一張表,選擇操作,裡面有存儲引擎可以修改,你想復製表就可以將存儲引擎修改成
myisam,
然後找到資料庫的data目錄復制好後,存儲引擎再改枝閉成你需要的類型
phpmyadmin新建表時存儲引擎
phpmyadmin修改存儲引晌升擎
D. 如何將mysql的一個完整資料庫全部復制到另外一個資料庫
如果從庫上表 t 數據與主庫不一致,導致復制錯誤,整個庫的數據量很大,重做從庫很慢,如何單獨恢復這張表的數據?通常認為是不能修復單表數據的,因為涉及到各表狀態不一致的問題。下面就列舉備份單表恢復到從庫會面臨的問題以及解岩亂決辦法:
場景 1
如果復制報錯後,沒有使用跳過錯誤、復制過濾等方法修復主從復制。主庫數據一直在更新,從庫數據停滯在報錯狀態(假設 GTID 為 aaaa:1-100)。
修復步驟:
在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000);
恢復到從庫;
啟動復制。
- CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = ('db_name.t');
- START SLAVE UNTIL SQL_AFTER_GTIDS = 'aaaa:10000';
在主庫上備份表 t (假設備份快照 GTID為 aaaa:1-10000);
停止從庫復制,GTID為 aaaa:1-20000;
恢復表 t 到從庫;
啟動復制。
對表 t 加讀鎖;
在主庫上備份表 t;
停止從庫復制,恢復表 t;
啟動復制;
解鎖表 t。
這里的問題是復制起始位點是 aaaa:101,從庫上表 t 的數據狀態是領先其他表的。aaaa:101-10000 這些事務中只要有修改表 t 數據的事務,就會導致復制報錯 ,比如主鍵沖突、記錄不存在(而 aaaa:101 這個之前復制報錯的事務必定是修改表 t 的事務)
解決辦法:啟動復制時跳過 aaaa:101-10000 這些事務中修改表 t 的事務。
正確的修復步驟:
1. 在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000),恢復到從庫;
2. 設置復制過濾,過濾表 t:
3. 啟動復制,回放到 aaaa:10000 時停止復制(此時從庫上所有表的數據都在同一狀態,是一致的);
4. 刪除復制過濾,正常啟動復制。
注意事項:這里要用 mysqlmp --single-transaction --master-data=2,記錄備份快巧譽照對應的 GTID
場景 2
如果復制報錯後,使用跳過錯孝棗段誤、復制過濾等辦法修復了主從復制。主、從庫數據一直在更新。
修復步驟:
這里的問題是復制起始位點是 aaaa:20001,aaaa:10000-20000 這些事務將不會在從庫上回放,如果這裡面有修改表 t 數據的事務,從庫上將丟失這部分數據。
解決辦法:從備份開始到啟動復制,鎖定表 t,保證 aaaa:10000-20000 中沒有修改表 t 的事務。
正確修復步驟:
如果是大表,這里可以用可傳輸表空間方式備份、恢復表,減少鎖表時間。
E. mysql把一個資料庫中的數據復制到另一個資料庫中的表 2個表結構相同
1、使用軟體Navicat就可遷移復制資料庫,打開Navicat,右鍵點擊左邊空白的地方,點擊New Connection下的MySQL,創建一個伺服器的連接,下面將演示把本地的數據遷移到伺服器:
F. 現在我在學習MySQL,問問怎麼復制粘貼資料庫
兩種方法:
1、在「SQL Server 配置管理器」中將你的SQL SERVER服務停止,然後將你安裝資料庫文件中的data文件夾下的 你的資料庫名.mdf和你的資料庫名.ldf文件夾拷給別人,最後拿到該文件的人,直接在mssql2005的「SQL Server Management Studio」工具中,用附加資料庫的方式添加即可。
2、在你電裂卜腦上的「SQL Server Management Studio」工具中找到你要用來傳的資料庫名,在上面點右鍵--任務--備份數據庫。為其指定一個目錄後,點保存。之後會生成一個文件,你直接肆畝穗將該文件拷貝給你要給的人。拿到這個備份文件的人,首先要在他電腦的「SQL Server Management Studio」工具中新建一個空資料庫,且該資料庫名要和你電腦上的那個名稱一致,最後在這個資料庫名上點右鍵--任務--還原--資料庫,選中剛才的那個備份文件,點確耐歷定也可以還原。
G. 怎麼快速復制千萬級的Mysql資料庫表
我google了一下大概有一下幾個方法,
1.復製表結構雀握及數據到新表
CREATE TABLE 新表 SELECT * FROM 舊表
2.只復做歲臘製表結構到新表
CREATE TABLE 新表 SELECT * FROM 舊表 WHERE 1=2
即:讓WHERE條件不成立.
3.復制舊表的數據到新表(假設兩個表結構一樣)
INSERT INTO 新表 SELECT * FROM 舊表
4.復制舊表的數據到新表(假設兩個表結構不一樣)
INSERT INTO 新表(欄位1,欄位2,.......) SELECT 欄位純滑1,欄位2,...... FROM 舊表
H. 怎麼才能完整復制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命令提示符下使用mysqlmp命令進行備份.
如下:
C:\Documents and Settings\Administrator>mysqlmp yinshi >c:\\backup.txt -uroot
-p12142022