五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

實戰(zhàn)講解mysql8主從復制(windows版)

2023-08-23 17:49 作者:密云榛子IT教育  | 我要投稿

估計大家刷到這篇文章肯定已經(jīng)知道什么是主從復制了, 就不廢話了,直接正題。

操作數(shù)據(jù)庫以及運行數(shù)據(jù)庫語句,目前有2種方式:

一種是使用命令行程序,即cmd

運行 mysql -u root -p, 之后輸入密碼就可進入到mysql了,就可以運行sql語句以及各種數(shù)據(jù)庫命令。如下圖:

但是這種方式不是很方便。

另一種方式是借助可視化工具navicat,如下圖:

這個工具可以創(chuàng)建、修改、刪除等數(shù)據(jù)庫操作,也可以運行sql語句,非常方便。本文就借助這個工具來演示。

正文開始,我會按步驟來演示,跟著步驟肯定沒錯。

1. 準備兩臺電腦,或者在一臺電腦上安裝個虛擬機也可以。一臺是主服務(wù)器(master),一臺是從服務(wù)器(slave)。兩臺服務(wù)器都安裝上mysql8數(shù)據(jù)庫,二者沒有任何區(qū)別。

主服務(wù)器安裝的數(shù)據(jù)庫叫master, 從服務(wù)器上的數(shù)據(jù)庫叫slave。master數(shù)據(jù)庫完成所有更新操作,比如添加、修改、刪除,?slave數(shù)據(jù)庫負責查詢操作。所以兩個數(shù)據(jù)庫要想數(shù)據(jù)保持一致,就需要將master數(shù)據(jù)庫中的所有更改同步到slave數(shù)據(jù)庫,這就是主從復制。(大哭,說好的不講概念的)

下載地址:?https://dev.mysql.com/downloads/windows/installer/8.0.html

2. 兩個服務(wù)器上同時創(chuàng)建名稱為db的數(shù)據(jù)庫,同時創(chuàng)建admin表,如下:


3. 修改master數(shù)據(jù)庫的配置文件my.ini

my.ini一般是在C:\ProgramData\MySQL\MySQL Server 8.0目錄下,如果沒有?ProgramData,應(yīng)該是被隱藏了,顯示即可。

如果上面這兩項都有,那就不用任何修改。log-bin是 binlog日志的文件名,server-id是服務(wù)id,在所有的主從數(shù)據(jù)庫上,這個id不能相同。

什么是binlog日志?

這個日志非常重要,將master數(shù)據(jù)庫的任何修改同步到slave數(shù)據(jù)庫就是靠這個日志的。binlog記錄了所有增加、修改、刪除操作及數(shù)據(jù)。即使表數(shù)據(jù)誤刪除了,或者數(shù)據(jù)庫誤刪除了,通過binlog都能恢復,實際上就是重新執(zhí)行一遍binlog中的操作就可以了。


4.?修改slave數(shù)據(jù)庫的配置文件my.ini

找到server-id,將其修改成別的,只要和master數(shù)據(jù)庫的不一樣就行。

同時添加replicate-do-db,這個是允許復制的數(shù)據(jù)庫名稱。如果沒有該項,則默認復制所有數(shù)據(jù)庫。如果要復制多個,需要重復寫,比如:

所有文件配置就ok了。


5. 在master數(shù)據(jù)庫中創(chuàng)建一個賬號,用于給slave使用,因為slave需要連接到master,然后下載binlog,那么就必須給它分配一個賬號,而且賬號權(quán)限只能用于同步binlog。

運行如下sql語句:

第一行語句是用于創(chuàng)建賬號,賬號名稱為slave,密碼為123456, 實際上就是在名稱為mysql的數(shù)據(jù)庫中的user表中創(chuàng)建一行:

第二行語句是賦予賬號slave同步binlog的權(quán)限,實際就是將Repl_slave_priv字段改為Y:

6. master數(shù)據(jù)庫中運行show master status? :

File和Position這兩個參數(shù)值記錄一下,后面會用。


7. 給slave 數(shù)據(jù)庫配置連接到master的信息:

上面的語句最好一步步運行,先運行stop slave,然后是中間的配置語句,最后是start slave,這樣可以觀察是否都成功。

master_log_file、master_log_pos 是用于說明從哪個binlog文件的哪個位置開始同步。

會存在多個binlog文件的,每次重啟mysql服務(wù),或者運行flush logs語句,都會創(chuàng)建一個新的binlog文件。

stop slave、start slave用于停止、啟動線程,因為slave 數(shù)據(jù)庫完成復制工作是靠單獨的線程來完成的。

需要注意的是get_master_public_key, 這個參數(shù)在低版本的mysql上可以沒有,但是在mysql8.0上必須有,否則報錯。


8. 當運行完start slave后,主從復制就已經(jīng)開始工作。?可以通過show slave status語句查看是否正常工作:

如果上面兩項都是Yes,說明正常工作了,否則就是出錯誤了。

Slave_IO_Running是?I/O線程,用于從master讀取binlog,并存儲到relay log中繼日志文件中。

Slave_SQL_Running是 SQL線程,用于讀取中繼日志,在從庫重放,就是重新運行一遍。


9.測試

在master中的admin表中添加一行記錄:

然后查看slave 數(shù)據(jù)庫中是否有相同的數(shù)據(jù)。

實戰(zhàn)講解mysql8主從復制(windows版)的評論 (共 條)

分享到微博請遵守國家法律
湄潭县| 临夏县| 襄汾县| 兴宁市| 赣榆县| 淮滨县| 临湘市| 温泉县| 邵阳县| 万宁市| 财经| 桐庐县| 松滋市| 哈巴河县| 望奎县| 越西县| 石门县| 河北省| 枝江市| 肥东县| 彭州市| 武夷山市| 长岭县| 辽中县| 辽源市| 金昌市| 嘉定区| 新疆| 兰溪市| 镇宁| 晴隆县| 隆回县| 锡林郭勒盟| 邛崃市| 水城县| 长沙市| 田东县| 武安市| 禹州市| 斗六市| 万州区|