MYSQL的主從複製

我們用兩個節點來做實驗:
master節點:172.16.251.132
slave節點:172.15.252.32

master節點上操作如下:

#ntpdate 172.16.0.1 同步時間
#vim /etc/my.cnf.d/server.cnf
[mysqld]
innodb_file_per_table=ON
skip_name_resolve=ON
server_id=1
log-bin=master-log 二進制日誌

接下來啓動master節點mariadb的服務:

#systemctl start mariadb.service
#ss -tnl 顯示3306端口監聽

在slave節點上操作如下:

#ntpdate 172.16.0.1 同步時間
#vim /etc/my.cnf.d/server.cnf
[mysqld]
innodb_file_per_table=ON
skip_name_resolve=ON
server_id=11
relay_log=relay-log 中繼日誌

啓動slave節點上的mariadb服務:

#systemctl start mariadb.service
#ss -tnl 顯示3306端口監聽

master節點:

#mysql

>GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'repluser'@'172.16.252.%' IDENTIFIED BY 'replpass';
>FLUSH PRIVILEGES;
>SHOW MASTER STATUS;
顯示master-log.000001 496

slave節點:

#mysql

>CHANGE MASTER TO MASTER_HOST='172.16.251.132',MASTER_USER='repluser',MASTER_PASSWORD='replpass',MASTER_POST=3306,MASTER_LOG_FILE='master_log.000001',MASTER_LOG_POS=496;
>START SLAVE;
>SHOW SLAVE STATUS;

這裏寫圖片描述

接下來試驗下:
在master節點上創建一個數據庫,在slave節點上一樣可以看到和使用。

master節點上:
#mysql

>CREATE DATABASE mydb;
slave節點上:
#mysql
>SHOW DATABASES;
顯示出了mydb數據庫

這樣,mysql的主從複製就配置好了,可以投入使用了。

理論總結:
配置:
時間同步;
複製的開始位置:
從0開始;
從備份中恢復到從節點後啓動的複製,複製的起始點備份操作時主節點所處的日誌文件及其事件位置;
主從服務器mysqld程序版本不一致?
從的版本號高於主的版本號可以;反過來不可以
主服務器:
配置文件my.cnf
server_id=#
log_bin=log-bin二進制日誌
啓動服務:
mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON . TO ‘USERNAME’@’HOST’ IDENTIFIED
BY ‘YOUR_PASSWORD’;
mysql> FLUSH PRIVILEGES;
從服務器:
配置文件my.cnf
server_id=#
relay_log=relay-log 中繼日誌
read_only=ON
啓動服務:
mysql> CHANGE MASTER TO MASTER_HOST=’HOST’,MASTER_USER=’USERNAME’,MASTER_PASSWORD=
‘YOUR_PASSWORD’,MASTER_LOG_FILE=’BINLOG’,MASTER_LOG_POS=#;
mysql> START SLAVE [IO_THREAD|SQL_THREAD];
mysql> SHOW SLAVE STATUS;

發佈了33 篇原創文章 · 獲贊 22 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章