#### 1. 前言 --- **在 Navicat 12 中引入了數(shù)據(jù)結(jié)構(gòu)同步** 網(wǎng)上搜索“數(shù)據(jù)庫同步”,會(huì)搜到許多有關(guān)同步數(shù)據(jù)庫數(shù)據(jù)的信息, 同時(shí), 關(guān)于同步數(shù)據(jù)庫模式結(jié)構(gòu)的指令不太普遍。 更改數(shù)據(jù)庫結(jié)構(gòu)會(huì)帶來破壞現(xiàn)有數(shù)據(jù)的固有風(fēng)險(xiǎn)。 因此,同步數(shù)據(jù)庫結(jié)構(gòu)時(shí)必須格外小心 在 Navicat 12 中引入了數(shù)據(jù)結(jié)構(gòu)同步的新機(jī)制。它提供了一種更簡(jiǎn)便,更直觀的方式來比較和識(shí)別兩個(gè)數(shù)據(jù)庫之間的差異。 并展示了并排的數(shù)據(jù)定義語言(DDL)比較,可以輕松找到源數(shù)據(jù)庫和目標(biāo)數(shù)據(jù)庫之間的差異。 **數(shù)據(jù)丟失的風(fēng)險(xiǎn)最小化** 改變已經(jīng)包含數(shù)據(jù)的數(shù)據(jù)庫的結(jié)構(gòu)充滿了危險(xiǎn)。 因此,在嘗試同步數(shù)據(jù)庫結(jié)構(gòu)之前,應(yīng)始終備份數(shù)據(jù)。 使用Navicat的備份實(shí)用程序可以輕松完成此操作。 **使用場(chǎng)景** 為了開發(fā)方便我們一般都是在本地進(jìn)行開發(fā), 然后再部署到服務(wù)器上。后期可能會(huì)增加一些功能,需要修改數(shù)據(jù)庫結(jié)構(gòu),先在本地進(jìn)行開發(fā),開發(fā)完成之后需要將本地的數(shù)據(jù)庫結(jié)構(gòu)同步到服務(wù)器上的數(shù)據(jù)庫,此時(shí) Navicat 的結(jié)構(gòu)同步非常好用。 #### 2. 數(shù)據(jù)庫結(jié)構(gòu)同步 --- **打開結(jié)構(gòu)同步的可視化頁面** ![](https://img.itqaq.com/art/content/d932886f99bf3ed14eac73d6ba1e20b0.png) **設(shè)置 `源數(shù)據(jù)庫` 和 `目標(biāo)數(shù)據(jù)庫`, 比對(duì)兩個(gè)數(shù)據(jù)庫之間的差異** ![](https://img.itqaq.com/art/content/e1f340726e953a2825cbea949230e48d.png) **查看比對(duì)結(jié)果, 以及將要指定的 DDL 語句** ![](https://img.itqaq.com/art/content/19268df12d7fc6086ef77b5e9205e65b.png) **點(diǎn)擊部署, 執(zhí)行結(jié)構(gòu)同步, 此時(shí)結(jié)構(gòu)同步成功** ![](https://img.itqaq.com/art/content/40b8e02bc5d1cfae8afcdcee2c15a67d.png)