mysql創(chuàng)建數(shù)據(jù)庫(kù) 如何對(duì)MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步?
如何對(duì)MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步?如何對(duì)MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步實(shí)現(xiàn)兩個(gè)Mysql數(shù)據(jù)庫(kù)之間同步同步原理:MySQL 為了實(shí)現(xiàn)replication 必須打開(kāi)bin-log 項(xiàng),
如何對(duì)MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步?
如何對(duì)MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行實(shí)時(shí)同步實(shí)現(xiàn)兩個(gè)Mysql數(shù)據(jù)庫(kù)之間同步同步原理:MySQL 為了實(shí)現(xiàn)replication 必須打開(kāi)bin-log 項(xiàng),也是打開(kāi)二進(jìn)制的MySQL 日志記錄選項(xiàng)。MySQL 的bin log 二進(jìn)制日志,可以記錄所有影響到數(shù)據(jù)庫(kù)表中存儲(chǔ)記錄內(nèi)容的sql 操作,如insert / update / delete 操作,而不記錄select 這樣的操作。因此,我們可以通過(guò)二進(jìn)制日志把某一時(shí)間段內(nèi)丟失的數(shù)據(jù)可以恢復(fù)到數(shù)據(jù)庫(kù)中(如果二進(jìn)制日志中記錄的日志項(xiàng),包涵數(shù)據(jù)庫(kù)表中所有數(shù)據(jù),那么, 就可以恢復(fù)本地?cái)?shù)據(jù)庫(kù)的全部數(shù)據(jù)了)。 而這個(gè)二進(jìn)制日志,如果用作遠(yuǎn)程數(shù)據(jù)庫(kù)恢復(fù),那就是replication 了。這就是使用replication 而不用sync 的原因。這也是為什么要設(shè)置bin-log = 這個(gè)選項(xiàng)的原因。
mysql將一個(gè)表的數(shù)據(jù)同步到另一個(gè)表?
1.如果2張表的字段一致,并且希望插入全部數(shù)據(jù),可以用這種方法:
INSERT INTO 目標(biāo)表 SELECT * FROM 來(lái)源表
2.如果只希望導(dǎo)入指定字段,可以用這種方法:
INSERT INTO 目標(biāo)表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 來(lái)源表(這里的話字段必須保持一致)
3.如果您需要只導(dǎo)入目標(biāo)表中不存在的記錄,可以使用這種方法:
INSERT INTO 目標(biāo)表
(字段1, 字段2, ...)
SELECT 字段1, 字段2, ...
FROM 來(lái)源表
WHERE not exists (select * from 目標(biāo)表
where 目標(biāo)表.比較字段 = 來(lái)源表.比較字段)