MySQL主從複製

2021-09-20 13:23:45 字數 2792 閱讀 9128

一、mysql5.7主從複製

主從複製的要求:

(1)主庫開啟binlog日誌(設定log-bin引數)

(2)主從server-id不同

(3)從庫伺服器能連同主庫

主從複製原理:

mysql的主從配置又叫replication,ab複製,基於binlog二進位制日誌,主資料庫必須開啟binlog二進位制日誌才能進行複製。

(1)主資料庫將更改操作記錄到binlog二進位制日誌(主資料庫有log dump執行緒和從資料庫的i/o執行緒傳遞binlog)。

(2)從庫生成兩個執行緒,乙個i/o執行緒,乙個sql執行緒

(3)i/o執行緒去請求主庫的binlog,並且得到的binlog日誌寫到relay log(中繼日誌)檔案中

(4)然後主庫會生成乙個log dump執行緒,用來給從庫的i/o執行緒傳binlog;sql執行緒,會讀取中繼日誌檔案,並解析成具體的操作執行,這樣主從的操作就一致了,而最終的資料也就一致了。

作為非同步複製,其主庫將事件寫入binlog二進位制檔案,dump執行緒將binlog檔案傳送出去,不保證其他從節點是否會收到binlog二進位制檔案。

1.在主庫中安裝mysql

[root@server3 ~]# ls

mysql-community-client-5.7.24-1.el7.x86_64.rpm

mysql-community-common-5.7.24-1.el7.x86_64.rpm

mysql-community-libs-5.7.24-1.el7.x86_64.rpm

mysql-community-libs-compat-5.7.24-1.el7.x86_64.rpm

mysql-community-server-5.7.24-1.el7.x86_64.rpm

[root@server3 ~]# yum install *

2.開啟資料庫

[root@server3 ~]# systemctl start mysqld

3.檢視密碼

[root@server3 ~]# cat /var/log/mysqld.log | grep password

4.進行初始化,修改密碼否則進入資料庫也無法操作

注意:密碼需要有數字 大小寫字母 特殊字元 三者構成 缺一不可! 密碼位數大於8

[root@server3 ~]# mysql_secure_installation

securing the mysql server deployment.

enter password for user root: ##剛才找出的密碼

the existing password for the user account root has expired. please set a new password. ##設定新的密碼

new password:

re-enter new password:

the 'validate_password' plugin is installed on the server.

the subsequent steps will run with the existing configuration

of the plugin.

using existing password for root.

estimated strength of the password: 100

change the password for root ? ((press y|y for yes, any other key for no) :

remove anonymous users? (press y|y for yes, any other key for no) : y

success.

disallow root login remotely? (press y|y for yes, any other key for no) : y

success.

remove test database and access to it? (press y|y for yes, any other key for no) : y

reload privilege tables now? (press y|y for yes, any other key for no) : y

success.

all done!

5.編輯配置檔案

[root@server3 ~]# vim /etc/my.cnf

最後面新增:

29 log-bin=mysql-bin ##開啟二進位制日誌

30 server-id=1 伺服器id

6.重啟服務,則配置檔案生效

[root@server3 ~]# systemctl restart mysqld

7.建立使用者並授權

replication    表示授權複製的許可權  

.         表示所有資料庫可以進行同步 

hui         表示授權名,可以隨意填寫 

『172.25.19.%』   表示授權172.25.19.0/24的網段所有伺服器可以同步, %表示任意

mysql主從複製

罪過啊,博主最近好久沒有更新部落格了,轉有道雲筆記了,筆記裡還有些乾貨,最近慢慢分享出來吧。博主最近發現有好多想學,但是發現精力有限啊,博主本來是搞個開發的,但是偏偏想把運維,dba的技術全都學了 mysql集群,nginx等等等 但是發現精力有限,所以簡單了解一下,mysql的主從複製,後面還有m...

MySQL 主從複製

1.概念 將主伺服器的資料複製到另外一台或多台伺服器的過程。也即將主資料庫的ddl和dml操作通過二進位制日誌傳到復 務器上,然後在從伺服器上對這些日誌進行重新執行,從而 保持資料同步。2.作用 降低主伺服器的訪問壓力 避免主伺服器因故障導致資料丟失。3.操作步驟 1 主伺服器將資料的改變記錄到二進...

MySQL 主從複製

資料分布。負載均衡 備份高可用性和故障切換 mysql公升級測試 mysql實現複製可以看做是三個步驟 在主庫上把資料更改記錄到二進位制日誌 binary log 中 這些記錄被稱為二進位制日誌事件 在每次準備提交事務完成資料更新前,主庫將資料更新的事件記錄到二進位制日誌中,在記錄二進位制日誌後,主...