標籤:資料 更新記錄 5.7 添加 使用 詳解 enforce 技術分享 mct
Mysql主從複製作用原理
1、在業務複雜的系統中,有這麼一個情景,有一句sql語句需要鎖表,導致暫時不能使用讀的服務,那麼就很影響運行中的業務,使用主從複製,讓主庫負責寫,從庫負責讀,這樣,即使主庫出現了鎖表的情景,通過讀從庫也可以保證業務的正常運作。
2、做資料的熱備
3、架構的擴充。業務量越來越大,I/O訪問頻率過高,單機無法滿足,此時做多庫的儲存,降低磁碟I/O訪問的頻率,提高單個機器的I/O效能。
mysql主從複製是一個非同步複製過程,主庫發送更新事件到從庫,從庫讀取更新記錄,並執行更新記錄,使得從庫的內容與主庫保持一致。
| 主機 |
IP |
主要軟體 |
| 主伺服器 |
192.168.126.129 |
mysql-5.7.17、 ntp |
| 從伺服器 |
192.168.126.130 |
mysql-5.7.17 、 ntp |
搭建Mysql主從複製
- 主伺服器
建立時間同步環境
# systemctl stop firewalld.service //關閉防火牆# setenforce 0# yum -y install ntp (一般系統內建 沒有的話安裝)# vim /etc/ntp.conf (添加下面2行) server 127.127.126.0 //本地是時鐘源// fudge 127.127.126.0 stratum 8 //設定時間層級為8(限制在15內)//# systemctl restart ntpd //重啟ntp服務
- 從伺服器
進行時間同步
# systemctl stop firewalld.service //關閉防火牆 # setenforce 0 # systemctl start ntpd //開啟ntp服務 # yum install ntp ntpdate -y # /usr/sbin/ntpdate 192.168.126.129 //進行時間同步//
安裝Mysql服務
安裝詳解:http://blog.51cto.com/13630803/2108180
安裝後設定密碼:
# mysqladmin -u root password ‘123456‘
配置主伺服器
# vim /etc/my.cnf server-id = 11 log-bin=master-bin //主伺服器記錄檔// log-slave-updates=true //從伺服器更新二進位日誌//# systemctl restart mysqld # mysql -u root -p123456 //登入Mysql 給從伺服器授權mysql> GRANT REPLICATION SLAVE ON *.* TO ‘myslave‘@‘192.168.126.%‘ IDENTIFIED BY ‘123456‘;mysql> FLUSH PRIVILEGES;mysql>show master status;
配置從伺服器
# vim /etc/my.cnf server-id = 22 relay-log=relay-log-bin //從主伺服器上同步處理記錄檔案記錄到本地// relay-log-index=slave-relay-bin.index //定義relay-log的位置和名稱//# systemctl restart mysqld
按主伺服器結果更改下面master_log_file 和master_log_pos
# mysql -u root -p123456 mysql> change master to master_host=‘192.168.126.129‘,master_user=‘myslave‘,master_password=‘123456‘,master_log_file=‘master-bin.000001‘,master_log_pos=604; mysql> start slave; //啟動同步 mysql> show slave status\G; //查看狀態//
- 測試一下
- 主伺服器上 create database test;
- 去從伺服器上 show databases;
Mysql資料庫的主從複製