mysql主從機制的部署與應用


部署mysql主從復制

Mysql master ip: 192.168.30.25   一主兩從

Mysql slave ip: 192.168.30.24

Mysql slave ip:192.168.30.23

 

關閉防火牆

[root@master ~]# setenforce 0

[root@master ~]# iptables -F

[root@master ~]# systemctl stop firewalld

 

mysql master 上的配置NTP時間同步服務器

[root@master ~]# yum -y install ntp

[root@master ~]# vim /etc/ntp.conf

server 127.127.1.0

fudge 127.127.1.0 startum 8

 

啟動NTP服務

[root@master ~]# systemctl enable ntpd

[root@master ~]# systemctl start ntpd

 

2slave節點上配置與master進行時間同步

[root@slave1 ~]# yum -y install ntpdate

[root@slave1 ~]# /usr/sbin/ntpdate 192.168.30.25

 

所有機器安裝mariadb

[root@master ~]# yum -y install mariadb mariadb-server mariadb-devel

配置mysql master 服務器

1,etc/my.cnf中修改或者增加如下內容

[mysqld]

Server-id=1

Log-bin=mysql-binlog

Log-slave-ipdates=ture

重啟mysql服務器

[root@master ~]# systemctl start mariadb

 

2,創建replication用戶

Replication slave 用於復制從屬服務器,(從主服務器中讀取二進制日志事件權限

[root@master ~]# mysql -u root

MariaDB [(none)]> grant replication slave on *.* to 'myslave'@'192.168.30.%'identified by '123456';

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> show master status;

+---------------------+----------+--------------+------------------+

| File                | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------------+----------+--------------+------------------+

| mysql-binlog.000003 |      475 |              |                  |

+---------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

 

MariaDB [(none)]> exit

 

3,獲得Master DB 的相關信息

 

Slave 連接時使用,記錄下fileposition的值

 

4,備份matser原有數據此處省略

5,從庫連接主庫進行測試,如果連接成功說明主庫配置成功

[root@slave1 ~]# mysql -u myslave -p123456 -h 192.168.30.25

[root@slave2 ~]# mysql -u myslave -p123456 -h 192.168.30.25

在從服務器都修改Mysql 配置文件

Vim /etc/my.cnf

Server-id = 2

Relay-log=relay-log-bin

Rela:y-log-index=slave-relay-bin.index

配置多個從服務器時依次設置server-id

修改完重啟數據庫

[root@slave1 ~]# systemctl restart mariadb

 

6,slave 服務器授權,啟動從庫,進行主從庫同步

[root@slave1 ~]# mysql -u root

MariaDB [(none)]> stop slave;

MariaDB [(none)]> change master to

    -> master_host='192.168.30.25',

    -> master_user='myslave',

    -> master_password='123456',

    -> master_log_file='mysql-binlog.000003',

    -> master_log_pos=475;

Query OK, 0 rows affected (0.01 sec)

 

MariaDB [(none)]> start slave;

Query OK, 0 rows affected (0.00 sec)

 

MariaDB [(none)]> show slave status\G

master查看授權成功

[root@master ~]# netstat -anpt |grep mysql

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      4162mysqld         

tcp        0      0 192.168.30.25:3306      192.168.30.23:58866     ESTABLISHED 4162mysqld         

tcp        0      0 192.168.30.25:3306      192.168.30.24:59174     ESTABLISHED 4162mysqld

 

進行測試是否成功

主庫當前存在的庫

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

4 rows in set (0.01 sec)

 

從庫當前的庫

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| test               |

+--------------------+

 

主庫添加創建庫和表

MariaDB [(none)]> create database sampdb;

Query OK, 1 row affected (0.00 sec)

 

MariaDB [(none)]> use sampdb;

Database changed

MariaDB [sampdb]> create table new(name char(20),phone char(20));

Query OK, 0 rows affected (0.08 sec)

 

MariaDB [sampdb]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sampdb             |

| test               |

+--------------------+

5 rows in set (0.00 sec)

 

從庫驗證

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sampdb             |

| test               |

+--------------------+

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM