新聞中心
MySQL如何復(fù)制表中的一條記錄并插入
1、打開navicat軟件,打開要復(fù)制表的數(shù)據(jù)庫,如下圖所示:
創(chuàng)新互聯(lián)主營(yíng)襄城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開發(fā)公司,襄城h5小程序定制開發(fā)搭建,襄城網(wǎng)站營(yíng)銷推廣歡迎襄城等地區(qū)企業(yè)咨詢
2、點(diǎn)擊上方的“工具-數(shù)據(jù)傳輸”,如下圖所示:
3、進(jìn)去之后,左邊選擇的是要復(fù)制的表的數(shù)據(jù)庫,右邊選擇的將表復(fù)制到目標(biāo)數(shù)據(jù)庫,如下圖所示:
4、打開左邊數(shù)據(jù)庫對(duì)象中的“表”,選擇要復(fù)制哪幾張表,點(diǎn)擊開始。
5、點(diǎn)擊開始,會(huì)彈出一個(gè)框,點(diǎn)擊是,等待一下,出現(xiàn)如下界面,復(fù)制成功,點(diǎn)擊“關(guān)閉”。
6、可以看到表已經(jīng)復(fù)制到另外一個(gè)數(shù)據(jù)庫上了,如下圖所示:
mysql中的字段怎么復(fù)制
MySQL 8.0.17 clone 插件的安裝和驗(yàn)證過程
安裝非常簡(jiǎn)單,與安裝其他插件的工作方式相同。下面是安裝克隆插件的命令行:
master [localhost:45008] ((none)) INSTALL PLUGIN clone SONAME 'mysql_clone.so';Query OK, 0 rows affected (0.00 sec)
以及如何檢查克隆插件是否處于活動(dòng)狀態(tài):master [localhost:45008] ((none)) SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINSWHERE PLUGIN_NAME LIKE 'clone';+-------------+---------------+| PLUGIN_NAME | PLUGIN_STATUS |+-------------+---------------+| clone | ACTIVE |+-------------+---------------+1 row in set (0.00 sec)
請(qǐng)注意,這些步驟需要在 Donor(供體)和 Recipient(受體,也成為 Slave)上都執(zhí)行。執(zhí)行安裝后,插件將在重新啟動(dòng)后自動(dòng)加載,因此您不必再擔(dān)心這一點(diǎn)。接下來,我們將在 Donor 上創(chuàng)建具有必要權(quán)限的用戶,這樣我們就可以遠(yuǎn)程連接到實(shí)例來克隆它。
master [localhost:45008] ((none)) create user clone_user@'%' identified by 'sekret';
Query OK, 0 rows affected (0.01 sec)
master [localhost:45008] ((none)) GRANT BACKUP_ADMIN ON *.* TO 'clone_user'@'%';
Query OK, 0 rows affected (0.00 sec)
作為安全措施,我建議將百分號(hào) % 替換為從機(jī)的 IP、主機(jī)名或網(wǎng)絡(luò)掩碼,以便只有未來的從服務(wù)器才能接受連接。現(xiàn)在,從服務(wù)器上,克隆用戶需要CLONE_ADMIN 權(quán)限來替換從機(jī)數(shù)據(jù),在克隆操作期間阻止 DDL 并自動(dòng)重新啟動(dòng)服務(wù)器。
slave1 [localhost:45009] ((none)) create user clone_user@'localhost' identified by 'sekret';
Query OK, 0 rows affected (0.01 sec)
slave1 [localhost:45009] ((none)) GRANT CLONE_ADMIN ON *.* TO 'clone_user'@'localhost';
Query OK, 0 rows affected (0.00 sec)
接下來,安裝并驗(yàn)證插件,并在主和從服務(wù)器上創(chuàng)建用戶。
克隆過程
如上所述,克隆過程可以在本地或遠(yuǎn)程執(zhí)行。此外,它支持復(fù)制,這意味著克隆操作從捐贈(zèng)者提取和傳輸復(fù)制坐標(biāo)并將其應(yīng)用于收件人。它可用于 GTID 或非 GTID 復(fù)制。因此,要開始克隆過程,首先,讓我們確保有一個(gè)有效的供體(Master)。這由 clone_valid_donor_list 參數(shù)控制。由于它是動(dòng)態(tài)參數(shù),您可以在服務(wù)器運(yùn)行時(shí)進(jìn)行更改。使用 show variables 命令將顯示參數(shù)是否具有有效的供體(Master):slave1 [localhost:45009] ((none)) SHOW VARIABLES LIKE 'clone_valid_donor_list';+------------------------+-------+| Variable_name | Value |+------------------------+-------+| clone_valid_donor_list | |+------------------------+-------+1 row in set (0.01 sec)
例子中,我們需要對(duì)它進(jìn)行設(shè)置:slave1 [localhost:45009] ((none)) set global clone_valid_donor_list = '127.0.0.1:45008';Query OK, 0 rows affected (0.00 sec)
下一步不是強(qiáng)制性的,但使用默認(rèn)的 log_error_verbosity,錯(cuò)誤日志不會(huì)顯示有關(guān)克隆進(jìn)度的大量信息。所以,對(duì)于這個(gè)例子,我會(huì)將詳細(xì)程度調(diào)整到更高的級(jí)別(在供體和受體機(jī)上):mysql set global log_error_verbosity=3;Query OK, 0 rows affected (0.00 sec)
現(xiàn)在,讓我們?cè)谑荏w(Slave)上開始克隆過程:slave1 [localhost:45009] ((none)) CLONE INSTANCE FROM [email protected]:45008 identified by 'sekret';Query OK, 0 rows affected (38.58 sec)
怎么才能完整復(fù)制MySQL數(shù)據(jù)庫
有兩種辦法。
1、在B機(jī)器上裝mysql。
將A機(jī)器上的mysql/data下的你的數(shù)據(jù)庫目錄整個(gè)拷貝下來。
將B機(jī)器上的mysql服務(wù)停止。
找到B機(jī)器上的mysql/data目錄,將你拷貝的目錄粘貼進(jìn)去,然后啟動(dòng)mysql服務(wù)就可以了。
2、使用SQL語句備份和恢復(fù)
你可以使用SELECT INTO OUTFILE語句備份數(shù)據(jù),并用LOAD DATA INFILE語句恢復(fù)數(shù)據(jù)。這種方法只能導(dǎo)出數(shù)據(jù)的內(nèi)容,不包括表的結(jié)構(gòu),如果表的結(jié)構(gòu)文件損壞,你必須要先恢復(fù)原來的表的結(jié)構(gòu)。
語法:
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命令進(jìn)行備份.
如下:
C:\Documents and Settings\Administratormysqldump yinshi c:\\backup.txt -uroot
-p12142022
安全最重要!MySQL配置主從復(fù)制,主主復(fù)制
為了保障數(shù)據(jù)的安全與穩(wěn)定性,我們常用數(shù)據(jù)庫的主從復(fù)制與主主復(fù)制來實(shí)現(xiàn)。主從復(fù)制為從機(jī)實(shí)時(shí)拷貝一份主機(jī)的數(shù)據(jù),當(dāng)主機(jī)有數(shù)據(jù)變化時(shí),從機(jī)的數(shù)據(jù)會(huì)跟著變,當(dāng)從機(jī)數(shù)據(jù)有變化時(shí),主機(jī)數(shù)據(jù)不變;同樣地,主主復(fù)制就是,多個(gè)主機(jī)之間,只要有一個(gè)主機(jī)的數(shù)據(jù)變化了,其它主機(jī)數(shù)據(jù)也會(huì)跟著變化。
添加以下內(nèi)容
如果你是使用我之前那種方式啟動(dòng)的MySQL,那么你只需要去你相關(guān)聯(lián)的宿主機(jī)的配置文件夾里面去建立一個(gè) my.cnf 然后寫入上面的類容就好了。
比如:我的啟動(dòng)命令如下(不應(yīng)該換行的,這里為了方便查看,我給它分行了)
那么我只需要在 /docker/mysql_master/conf 這個(gè)目錄下創(chuàng)建 my.cnf 文件就好了。
這個(gè)命令是需要在容器里面執(zhí)行的
docker重啟mysql會(huì)關(guān)閉容器,我們需要重啟容器。
確保在主服務(wù)器上 skip_networking 選項(xiàng)處于 OFF 關(guān)閉狀態(tài), 這是默認(rèn)值。 如果是啟用的,則從站無法與主站通信,并且復(fù)制失敗。
我的命令如下
在從服務(wù)器配置連接到主服務(wù)器的相關(guān)信息 (在容器里面的mysql執(zhí)行)
上面代碼的xxxxx你需要換成你的IP,docker 查看容器 IP 的命令如下:
啟動(dòng)的那個(gè)從服務(wù)器的線程
測(cè)試的話,你可以在主服務(wù)器里面,創(chuàng)建一個(gè)數(shù)據(jù)庫,發(fā)現(xiàn)從服務(wù)器里面也有了,就成功了。
如果你還想要一個(gè)從服務(wù)器,那么你只需要按照上面配置從服務(wù)器再配置一個(gè)就行了,新建的從服務(wù)器,會(huì)自動(dòng)保存主服務(wù)器之前的數(shù)據(jù)。(測(cè)試結(jié)果) 如果你上面的主從復(fù)制搞定了,那么這個(gè)主主復(fù)制就很簡(jiǎn)單了。我們把上面的從服務(wù)器也改成主服務(wù)器
1)、修改上面的從服務(wù)器的my.cnf文件,和主服務(wù)器的一樣(注意這個(gè)server-id不能一樣)然后重啟服務(wù)器 2)、在從服務(wù)器里面創(chuàng)建一個(gè)復(fù)制用戶創(chuàng)建命令一樣(這里修改一下用戶名可以改為 repl2) 3)、在之前的主服務(wù)器里面運(yùn)行下面這個(gè)代碼
上面主要是教你怎么搭建一個(gè)MySQL集群,但是這里面還有很多其它的問題。也是我在學(xué)習(xí)過程中思考的問題,可能有的小伙伴上來看到文章長(zhǎng)篇大論的看不下去,只想去實(shí)現(xiàn)這樣一直集群功能,所以我就把問題寫在下面了。
1)、MySQL的replication和pxc MySQL的集群方案有replication和pxc兩種,上面是基于replication實(shí)現(xiàn)的。
replication: 異步復(fù)制,速度快,無法保證數(shù)據(jù)的一致性。 pxc: 同步復(fù)制,速度慢,多個(gè)集群之間是事務(wù)提交的數(shù)據(jù)一致性強(qiáng)。
2)、MySQL的replication數(shù)據(jù)同步的原理 我們?cè)谂渲玫臅r(shí)候開啟了它的二進(jìn)制日志,每次操作數(shù)據(jù)庫的時(shí)候都會(huì)更新到這個(gè)日志里面去。主從通過同步這個(gè)日志來保證數(shù)據(jù)的一致性。
3)、可否不同步全部的數(shù)據(jù) 可以配置,同步哪些數(shù)據(jù)庫,甚至是哪些表。
4)、怎么關(guān)閉和開始同步
5)、我就我的理解畫出了,主從、主從從、主主、復(fù)制的圖。
往期推薦:
利用Docker僅花1分鐘時(shí)間安裝好MySQL服務(wù)
Linux下MySQL 5.7的離線與在線安裝(圖文)
Linux下安裝MySQL8.0(收藏!)
mysql把一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)復(fù)制到另一個(gè)數(shù)據(jù)庫中的表 2個(gè)表結(jié)構(gòu)相同
1、使用軟件Navicat就可遷移復(fù)制數(shù)據(jù)庫,打開Navicat,右鍵點(diǎn)擊左邊空白的地方,點(diǎn)擊New Connection下的MySQL,創(chuàng)建一個(gè)服務(wù)器的連接,下面將演示把本地的數(shù)據(jù)遷移到服務(wù)器:
2、在彈出的創(chuàng)建新連接的窗口里,輸入服務(wù)器的IP,數(shù)據(jù)庫賬號(hào),密碼等,然后就可以連接數(shù)據(jù)庫了:
3、創(chuàng)建好后們打開本地的數(shù)據(jù)庫,點(diǎn)擊“Data Transfer”(數(shù)據(jù)傳輸),接著彈出新的界面:
4、新窗口中在左邊選擇本地?cái)?shù)據(jù)庫的庫,和需要轉(zhuǎn)移的表,可以選擇一個(gè),或多個(gè)表:
5、然后在右邊的目標(biāo)里,選擇服務(wù)器的連接,然后選擇服務(wù)器上的數(shù)據(jù)庫:
6、選擇完成后,就開始進(jìn)行數(shù)據(jù)轉(zhuǎn)移了,數(shù)據(jù)量不是很大的,很快就會(huì)轉(zhuǎn)移完成的。以上就是mysql中數(shù)據(jù)復(fù)制到另一個(gè)數(shù)據(jù)庫的方法:
如何復(fù)制mysql數(shù)據(jù)庫到另一臺(tái)電腦上?
這種架構(gòu)一般用在以下三類場(chǎng)景
1. 備份多臺(tái) Server 的數(shù)據(jù)到一臺(tái)如果按照數(shù)據(jù)切分方向來講,那就是垂直切分。比如圖 2,業(yè)務(wù) A、B、C、D 是之前拆分好的業(yè)務(wù),現(xiàn)在需要把這些拆分好的業(yè)務(wù)匯總起來備份,那這種需求也很適用于多源復(fù)制架構(gòu)。實(shí)現(xiàn)方法我大概描述下:業(yè)務(wù) A、B、C、D 分別位于 4 臺(tái) Server,每臺(tái) Server 分別有一個(gè)數(shù)據(jù)庫來隔離前端的業(yè)務(wù)數(shù)據(jù),那這樣,在從庫就能把四臺(tái)業(yè)務(wù)的數(shù)據(jù)全部匯總起來,而不需要做額外的操作。那沒有多源復(fù)制之前,要實(shí)現(xiàn)這類需求,只能在匯總機(jī)器上搭建多個(gè) MySQL 實(shí)例,那這樣勢(shì)必會(huì)涉及到跨庫關(guān)聯(lián)的問題,不但性能急劇下降,管理多個(gè)實(shí)例也沒有單臺(tái)來的容易。
2. 用來聚合前端多個(gè) Server 的分片數(shù)據(jù)。
同樣,按照數(shù)據(jù)切分方向來講,屬于水平切分。比如圖 3,按照年份拆分好的數(shù)據(jù),要做一個(gè)匯總數(shù)據(jù)展現(xiàn),那這種架構(gòu)也非常合適。實(shí)現(xiàn)方法稍微復(fù)雜些:比如所有 Server 共享同一數(shù)據(jù)庫和表,一般為了開發(fā)極端透明,前端配置有分庫分表的中間件,比如愛可生的 DBLE。
3. 匯總并合并多個(gè) Server 的數(shù)據(jù)
第三類和第一種場(chǎng)景類似。不一樣的是不僅僅是數(shù)據(jù)需要匯總到目標(biāo)端,還得合并這些數(shù)據(jù),這就比第一種來的相對(duì)復(fù)雜些。比如圖 4,那這樣的需求,是不是也適合多源復(fù)制呢?答案是 YES。那具體怎么做呢?
本文標(biāo)題:mysql怎么復(fù)制信息 mysql數(shù)據(jù)庫數(shù)據(jù)文件直接復(fù)制
網(wǎng)頁網(wǎng)址:http://fisionsoft.com.cn/article/docehpe.html