新聞中心
怎么復(fù)制MySQL數(shù)據(jù)庫
1.采用數(shù)據(jù)導(dǎo)出啊,然后再使用向?qū)?dǎo)入
創(chuàng)新互聯(lián)公司服務(wù)緊隨時(shí)代發(fā)展步伐,進(jìn)行技術(shù)革新和技術(shù)進(jìn)步,經(jīng)過十載的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計(jì)師、專業(yè)的網(wǎng)站實(shí)施團(tuán)隊(duì)以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶要求對(duì)網(wǎng)站進(jìn)行成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、建設(shè)、維護(hù)、更新和改版,實(shí)現(xiàn)客戶網(wǎng)站對(duì)外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。
2.使用語句或者計(jì)劃先備份個(gè)數(shù)據(jù)庫,然后還原時(shí)重命名就可以了的。
MySQL如何復(fù)制到移動(dòng)硬盤上
可以利用光盤引導(dǎo)啟動(dòng)進(jìn)入PE系統(tǒng)后完整拷貝硬盤內(nèi)的所有數(shù)據(jù)。
所有東西完整導(dǎo)出到移動(dòng)硬盤可以通過硬盤克隆來完成。詳細(xì)操作步驟如下:
1、安裝并打開軟件,主頁面找到“克隆”欄,選擇“磁盤克隆”。
2、選擇源磁盤(要導(dǎo)出的磁盤)
3、選擇目標(biāo)磁盤(要導(dǎo)入的磁盤)
4、選擇好兩個(gè)磁盤,點(diǎn)擊“開始備份”。
5、在備份詳情頁面顯示備份進(jìn)度和詳細(xì)過程。
6、進(jìn)度條100%后,點(diǎn)擊“完成”就導(dǎo)出所有的內(nèi)容到移動(dòng)硬盤了。
補(bǔ)充說明:移動(dòng)硬盤缺點(diǎn):損毀基本無法恢復(fù):除此之外同固態(tài)硬盤一樣,在硬受到物理損壞時(shí)數(shù)據(jù)是無法恢復(fù)的,不過這種情況只是小概率事件,基本不會(huì)遇到。
如何將mysql的一個(gè)完整數(shù)據(jù)庫全部復(fù)制到另外一個(gè)數(shù)據(jù)庫?
如果從庫上表 t 數(shù)據(jù)與主庫不一致,導(dǎo)致復(fù)制錯(cuò)誤,整個(gè)庫的數(shù)據(jù)量很大,重做從庫很慢,如何單獨(dú)恢復(fù)這張表的數(shù)據(jù)?通常認(rèn)為是不能修復(fù)單表數(shù)據(jù)的,因?yàn)樯婕暗礁鞅頎顟B(tài)不一致的問題。下面就列舉備份單表恢復(fù)到從庫會(huì)面臨的問題以及解決辦法:
場(chǎng)景 1
如果復(fù)制報(bào)錯(cuò)后,沒有使用跳過錯(cuò)誤、復(fù)制過濾等方法修復(fù)主從復(fù)制。主庫數(shù)據(jù)一直在更新,從庫數(shù)據(jù)停滯在報(bào)錯(cuò)狀態(tài)(假設(shè) GTID 為 aaaa:1-100)。
修復(fù)步驟:
在主庫上備份表 t (假設(shè)備份快照 GTID 為 aaaa:1-10000);
恢復(fù)到從庫;
啟動(dòng)復(fù)制。
這里的問題是復(fù)制起始位點(diǎn)是 aaaa:101,從庫上表 t 的數(shù)據(jù)狀態(tài)是領(lǐng)先其他表的。aaaa:101-10000 這些事務(wù)中只要有修改表 t 數(shù)據(jù)的事務(wù),就會(huì)導(dǎo)致復(fù)制報(bào)錯(cuò) ,比如主鍵沖突、記錄不存在(而 aaaa:101 這個(gè)之前復(fù)制報(bào)錯(cuò)的事務(wù)必定是修改表 t 的事務(wù))
解決辦法:?jiǎn)?dòng)復(fù)制時(shí)跳過 aaaa:101-10000 這些事務(wù)中修改表 t 的事務(wù)。
正確的修復(fù)步驟:
1. 在主庫上備份表 t (假設(shè)備份快照 GTID 為 aaaa:1-10000),恢復(fù)到從庫;
2. 設(shè)置復(fù)制過濾,過濾表 t:
CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = ('db_name.t');
3. 啟動(dòng)復(fù)制,回放到 aaaa:10000 時(shí)停止復(fù)制(此時(shí)從庫上所有表的數(shù)據(jù)都在同一狀態(tài),是一致的);
START SLAVE UNTIL SQL_AFTER_GTIDS = 'aaaa:10000';
4. 刪除復(fù)制過濾,正常啟動(dòng)復(fù)制。
注意事項(xiàng):這里要用 mysqldump --single-transaction --master-data=2,記錄備份快照對(duì)應(yīng)的 GTID
場(chǎng)景 2
如果復(fù)制報(bào)錯(cuò)后,使用跳過錯(cuò)誤、復(fù)制過濾等辦法修復(fù)了主從復(fù)制。主、從庫數(shù)據(jù)一直在更新。
修復(fù)步驟:
在主庫上備份表 t (假設(shè)備份快照 GTID為 aaaa:1-10000);
停止從庫復(fù)制,GTID為 aaaa:1-20000;
恢復(fù)表 t 到從庫;
啟動(dòng)復(fù)制。
這里的問題是復(fù)制起始位點(diǎn)是 aaaa:20001,aaaa:10000-20000 這些事務(wù)將不會(huì)在從庫上回放,如果這里面有修改表 t 數(shù)據(jù)的事務(wù),從庫上將丟失這部分?jǐn)?shù)據(jù)。
解決辦法:從備份開始到啟動(dòng)復(fù)制,鎖定表 t,保證 aaaa:10000-20000 中沒有修改表 t 的事務(wù)。
正確修復(fù)步驟:
對(duì)表 t 加讀鎖;
在主庫上備份表 t;
停止從庫復(fù)制,恢復(fù)表 t;
啟動(dòng)復(fù)制;
解鎖表 t。
如果是大表,這里可以用可傳輸表空間方式備份、恢復(fù)表,減少鎖表時(shí)間。
現(xiàn)在我在學(xué)習(xí)MySQL,問問怎么復(fù)制粘貼數(shù)據(jù)庫
兩種方法:
1、在“SQL Server 配置管理器”中將你的SQL SERVER服務(wù)停止,然后將你安裝數(shù)據(jù)庫文件中的data文件夾下的 你的數(shù)據(jù)庫名.mdf和你的數(shù)據(jù)庫名.ldf文件夾拷給別人,最后拿到該文件的人,直接在mssql2005的“SQL Server Management Studio”工具中,用附加數(shù)據(jù)庫的方式添加即可。
2、在你電腦上的“SQL Server Management Studio”工具中找到你要用來傳的數(shù)據(jù)庫名,在上面點(diǎn)右鍵--任務(wù)--備份數(shù)據(jù)庫。為其指定一個(gè)目錄后,點(diǎn)保存。之后會(huì)生成一個(gè)文件,你直接將該文件拷貝給你要給的人。拿到這個(gè)備份文件的人,首先要在他電腦的“SQL Server Management Studio”工具中新建一個(gè)空數(shù)據(jù)庫,且該數(shù)據(jù)庫名要和你電腦上的那個(gè)名稱一致,最后在這個(gè)數(shù)據(jù)庫名上點(diǎn)右鍵--任務(wù)--還原--數(shù)據(jù)庫,選中剛才的那個(gè)備份文件,點(diǎn)確定也可以還原。
mysql如何復(fù)制數(shù)據(jù)到同一張表?
在利用數(shù)據(jù)庫開發(fā)時(shí),常常會(huì)將一些表之間的數(shù)據(jù)互相導(dǎo)入。當(dāng)然可以編寫程序?qū)崿F(xiàn),但是,程序常常需要開發(fā)環(huán)境,不方便。最方便是利用sql語言直接導(dǎo)入。既方便而修改也簡(jiǎn)單。以下就是導(dǎo)入的方法。
1、 表結(jié)構(gòu)相同的表,且在同一數(shù)據(jù)庫(如,table1,table2)
Sql :
復(fù)制代碼代碼如下:
insert into table1 select * from table2 (完全復(fù)制)
insert into table1 select distinct * from table2(不復(fù)制重復(fù)紀(jì)錄)
insert into table1 select top 5 * from table2 (前五條紀(jì)錄)
2、不在同一數(shù)據(jù)庫中(如,db1 table1,db2 table2)
sql:
[code]
insert into db1.table1 select * from db2.table2 (完全復(fù)制)
insert into db1.table1 select distinct * from db2table2(不復(fù)制重復(fù)紀(jì)錄)
insert into tdb1.able1 select top 5 * from db2table2 (前五條紀(jì)錄)
3、表結(jié)構(gòu)不同的表或復(fù)制部分紀(jì)錄(如,dn_user,dn_user2)
a. 建一個(gè)新表[DN_UserTemp](在老表dn_user上增加一列)
復(fù)制代碼代碼如下:
CREATE TABLE [DN_UserTemp] ( [Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL)
[Id] [idtype] NOT NULL ,
[Name] [fntype] NOT NULL ,
[Descript] [dstype] NULL ,
[LogonNm] [idtype] NOT NULL ,
[Password] [idtype] NULL ,
[Gender] [char] (1) NULL ,
[Quited] [booltype] NOT NULL,
[OffDuty] [booltype] NOT NULL ,
[Stopped] [booltype] NOT NULL,
[OSBind] [booltype] NOT NULL,
[Domain] [idtype] NULL ,
[EMail] [fntype] NULL ,
[UnitId] [idtype] NULL ,
[BranchId] [idtype] NULL ,
[DutyId] [idtype] NULL ,
[LevelId] [idtype] NULL ,
[ClassId] [idtype] NULL ,
[TypeId] [idtype] NULL ,
[IP] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
[ExpireDT] [datetime] NULL ,
[Sort] [int] NOT NULL ,
[AllowDel] [booltype] NOT NULL,
[UnitChief] [booltype] NOT NULL,
[BranchChief] [booltype] NOT NULL ,
[UnitDeputy] [booltype] NOT NULL ,
[BranchDeputy] [booltype] NOT NULL ,
[Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
b. 將dn_uer2的數(shù)據(jù)拷入dn_usertemp
sql:insert into dn_usertemp select * from dn_user2
c.將dn_usertemp 拷入dn_user
sql:
復(fù)制代碼代碼如下:
declare @i int
declare @j int
declare @Name fntype
set @i=1
select @j=count(*) from dn_usertemp
while @i@j 1
begin
select @Name=Name from dn_usertemp where Num=@i
print @Name
insert into dn_user (Name) values (@Name) where Num=@i
select @i=@i 1
end
MySql數(shù)據(jù)庫復(fù)制表數(shù)據(jù)
將 production 數(shù)據(jù)庫中的 mytbl 表快速復(fù)制為 mytbl_new,2個(gè)命令如下:
復(fù)制代碼代碼如下:
CREATE TABLE mytbl_new LIKE production.mytbl;
INSERT mytbl_new SELECT * FROM production.mytbl;
第一個(gè)命令是創(chuàng)建新的數(shù)據(jù)表 mytbl_new ,并復(fù)制 mytbl 的數(shù)據(jù)表結(jié)構(gòu)。
第二個(gè)命令是講數(shù)據(jù)表 mytbl 中的數(shù)據(jù)復(fù)制到新表 mytbl_new 。
注:production.mytbl是指定要復(fù)制表的數(shù)據(jù)庫名稱為 production 。它是可選的。
假如沒有production. ,MySQL數(shù)據(jù)庫將會(huì)假設(shè)mytbl在當(dāng)前操作的數(shù)據(jù)庫。
另外:在mysql數(shù)據(jù)庫中復(fù)制數(shù)據(jù)為:
復(fù)制代碼代碼如下:
select * into desTable from sourceTable在mssql中支持,在mysql中不支持
insert into desTable select * from sourceTable
本文名稱:mysql復(fù)制怎么用 mysql復(fù)制命令
網(wǎng)站鏈接:http://fisionsoft.com.cn/article/hjggji.html