最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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版)的評論 (共 條)

分享到微博請遵守國家法律
龙海市| 盐城市| 扬中市| 陆丰市| 成安县| 扎鲁特旗| 六枝特区| 宁强县| 涡阳县| 元江| 遂平县| 岚皋县| 黄石市| 伽师县| 武城县| 朝阳市| 枝江市| 永寿县| 甘孜| 新巴尔虎左旗| 东莞市| 秦安县| 大荔县| 西乌珠穆沁旗| 多伦县| 永康市| 廊坊市| 喀喇沁旗| 蚌埠市| 深圳市| 乌海市| 当涂县| 克什克腾旗| 盐边县| 南澳县| 个旧市| 万载县| 新田县| 武汉市| 镇雄县| 平湖市|