欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

DBA成長(zhǎng)之路---mysql主從同步,讀寫分離

主從同步

網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì),成都做網(wǎng)站公司-成都創(chuàng)新互聯(lián)公司已向超過千家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。

什么是主從同步: 讓其他的數(shù)據(jù)庫服務(wù)器自動(dòng)同步正在提供服務(wù)的數(shù)據(jù)庫服務(wù)器上 的數(shù)據(jù)。

        1 添加授權(quán)用戶

        MySQL> grant replication slave on *.* to slaveuser@"192.168.4.4" identified by '123456';

        2啟用binlog日志

        [root@4-3mysql ~]# vim /etc/my.cnf

        [mysqld]

        server_id=3

        log-bin=master11

        binlog_format="mixed"

        重啟數(shù)據(jù)庫服務(wù)

        [root@4-3mysql ~]# systemctl restart mysqld

        4 查看日志信息

        mysql> show master status;

        master11.000001

        

        驗(yàn)證主庫提供的授權(quán)用戶

        [root@4-4mysql ~]# mysql -h 192.168.4.3 -u slaveuser -p123456

        修改配置文件

        [root@4-4mysql ~]# vim /etc/my.cnf

        [mysqld]

        server_id=4

        log-bin=db4

        [root@4-4mysql ~]# systemctl restart mysqld

        

        使用本機(jī)器的數(shù)據(jù)管理員登錄,指定主庫信息

        show slave status;

        mysql> change master to master_host="192.168.4.3", master_user="slaveuser",master_password="123456",master_log_file="master11.000001",master_log_pos=154;

        mysql> show slave status\G;

                  Master_Log_File: master11.000001

                  Read_Master_Log_Pos: 154

                  Slave_IO_Running: No

                  Slave_SQL_Running: No

        mysql> start slave;

        mysql> show slave status\G;

                     Slave_IO_Running: Yes

                    Slave_SQL_Running: Yes

         slave 運(yùn)行2個(gè)線程

         Slave_IO:復(fù)制master主機(jī) binlog日志文件里的sql到本機(jī)的relay-log文件里

         Slave_SQL:執(zhí)行本機(jī)relay-log文件里的SQL語句,重現(xiàn)Master的數(shù)據(jù)操作

        

從數(shù)據(jù)庫目錄下會(huì)多的文件

    master.info 連接主服務(wù)器信息

    relay-log.info 中繼日志信息

    主機(jī)名-relay-bin.000000 中繼日志文件

    主機(jī)名-relay-bin.index 中繼日志索引

測(cè)試主從同步配置

    在主庫服務(wù)器上添加訪問數(shù)據(jù)的用戶

    mysql> grant all on bbsdb.* to yaya@"%" identified by '123456';

    mysql> show master status;

    | master11.000001 |      446 

    

    在客戶端使用授權(quán)用戶連接主庫,產(chǎn)生的數(shù)據(jù)在從庫也能查到

    [root@4-5test ~]# mysql -h 192.168.4.3 -uyaya -p123456

    MySQL [(none)]> create database bbsdb;

    這時(shí)在

    [root@4-3mysql ~]# 主服務(wù)器

    [root@4-4mysql ~]# 從服務(wù)器

    上都會(huì)生成相應(yīng)的表

將從服務(wù)器變被獨(dú)立服務(wù)器,關(guān)閉同步

    mysql> stop slave;

    rm -rf master.info  relay-log.info

    rm -rf localhost-relay-bin*

故障分析及排除

    原因分析

    連接不上master數(shù)據(jù)庫服務(wù)器

    解決辦法

    檢查物理連接ping 檢查授權(quán)用戶

    檢查是否有防火墻規(guī)則

    關(guān)閉SElinux

    或是binlog日志文件指定錯(cuò)誤

    

主從同步結(jié)構(gòu)模式

    一主一從

    一主多從

    主從從

    主主結(jié)構(gòu)(互為)

主從同步常用配置參數(shù)

        寫在vim /etc/my.cnf

        [mysqld]

        選項(xiàng)=值

        

主庫配置文件(對(duì)所有的從都有效)

不允許同步的庫 binlog_ignore_db=庫名1,庫名2

只允許同步的庫 binlog_do_db=庫名1,庫名2

        [root@4-3mysql ~]# vim /etc/my.cnf

        binlog_do_db=dba

        [root@4-3mysql ~]# systemctl restart mysqld

        

從庫配置文件(只對(duì)本機(jī)有效)

        只同步的庫 replicate_do_db=庫名1,庫名2

        不同步的庫 replicate_ignore_db=庫名1,庫名2

        級(jí)聯(lián)復(fù)制 log_slave_updates

數(shù)據(jù)讀寫分離  maxscale軟件  + 一主一從

什么是讀寫分離: 把客戶端訪問數(shù)據(jù)時(shí)的查詢請(qǐng)求select 和寫請(qǐng)求insert 給不同的數(shù)據(jù)庫服務(wù)器去處理

寫(主服務(wù)) 

讀 (從服務(wù))

一。

裝包

[root@4-5test ~]# rpm -ivh maxscale-2.1.2-1.rhel.7.x86_64.rpm 

修改配置文件:指定數(shù)據(jù)庫服務(wù)器

[root@4-5test ~]# vim /etc/maxcale.cnf

  9 [maxscale]

 10 threads=auto 開啟線程 根據(jù)cpu

 18 [server1] #數(shù)據(jù)庫服務(wù)器名

 19 type=server

 20 address=192.168.4.3 #指定ip

 21 port=3306

 22 protocol=MySQLBackend

 23 

 24 [server2] #數(shù)據(jù)庫服務(wù)器名

 25 type=server

 26 address=192.168.4.4 #指定ip

 27 port=3306

 28 protocol=MySQLBackend

 36 [MySQL Monitor]

 37 type=monitor

 38 module=mysqlmon

 39 servers=server1,server2 #監(jiān)聽兩臺(tái) 數(shù)據(jù)庫服務(wù)器

 40 user=scalemon #授權(quán)用戶名

 41 passwd=123456 #授權(quán)用戶密碼

 42 monitor_interval=10000 #毫秒  每十秒監(jiān)聽一次

 52 #[Read-Only Service] #Read-Only 全注釋

 53 #type=service

 54 #router=readconnroute

 55 #servers=server1

 56 #user=myuser

 57 #passwd=mypwd

 58 #router_options=slave

 63 [Read-Write Service]

 64 type=service

 65 router=readwritesplit

 66 servers=server1,server2 #監(jiān)聽兩臺(tái) 數(shù)據(jù)庫服務(wù)器

 67 user=maxscale #授權(quán)用戶名

 68 passwd=123456 #授權(quán)用戶密碼

 69 max_slave_connections=100%

 75 [MaxAdmin Service] #定義軟件管理服務(wù) 不用改

 76 type=service

 77 router=cli #使用方式  命令行

 85 #[Read-Only Listener] #Read-Only 全注釋

 86 #type=listener

 87 #service=Read-Only Service

 88 #protocol=MySQLClient

 89 #port=4008

 91 [Read-Write Listener]

 92 type=listener

 93 service=Read-Write Service #服務(wù)名

 94 protocol=MySQLClient

 95 port=4006 #讀寫分離監(jiān)聽端口號(hào)(默認(rèn))

 97 [MaxAdmin Listener] #管理服務(wù)監(jiān)聽

 98 type=listener

 99 service=MaxAdmin Service

100 protocol=maxscaled

101 socket=default

102 port=4009 #指定管理端口

根據(jù)配置文件設(shè)置,在數(shù)據(jù)庫上添加相應(yīng)的授權(quán)用戶

scalemon 123456 監(jiān)控?cái)?shù)據(jù)庫服務(wù)狀態(tài)的用戶(數(shù)據(jù)庫服務(wù)狀態(tài)和主從同步狀態(tài))

mysql> grant replication slave,replication client on *.* to scalemon@'%' identified by '123456';

mysql> grant select on mysql.* to maxscale@'%' identified by '123456';

maxscale 123456 檢查客戶端連接時(shí)使用的用戶名和密碼在監(jiān)視的數(shù)據(jù)庫服務(wù)器上是否存在

在代理主機(jī)測(cè)試

  mysql -h292.168.4.3 -uscalemon -p123456

  mysql -h292.168.4.3 -umaxscale -p123456

  mysql -h292.168.4.4 -umaxscale -p123456

  mysql -h292.168.4.4 -uscalemon -p123456

啟動(dòng)服務(wù)

[root@4-5test ~]# maxscale -f /etc/maxscale.cnf 

[root@4-5test ~]# netstat -pantu | grep maxscale

tcp        0      0 192.168.4.5:42703       192.168.4.3:3306        ESTABLISHED 4877/maxscale       

tcp        0      0 192.168.4.5:44918       192.168.4.4:3306        ESTABLISHED 4877/maxscale       

tcp6       0      0 :::4009                 :::*                    LISTEN      4877/maxscale       

tcp6       0      0 :::4006                 :::*                    LISTEN      4877/maxscale   

二。

測(cè)試配置

在代理服務(wù)器本機(jī)訪問管理服務(wù)

[root@4-5test ~]# maxadmin -uadmin -pmariadb -P4009

MaxScale> list servers

Servers.

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

Server                               | Address                       | Port         | Connections     | Status              

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

server1                              | 192.168.4.3                 |  3306     |           0                | Master, Running

server2                              | 192.168.4.4                 |  3306     |           0                | Slave, Running

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

在客戶端 訪問代理服務(wù)器 存儲(chǔ)數(shù)據(jù)或查詢數(shù)據(jù)

4-3

mysql> create database bbsdb;

Query OK, 1 row affected (0.00 sec)

mysql> create table bbsdb.t1(id int);

Query OK, 0 rows affected (0.26 sec)

MySQL [(none)]> show grants;

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

| Grants for yaya@%                                                                           |

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

| GRANT USAGE ON *.* TO 'yaya'@'%'                                          |

| GRANT ALL PRIVILEGES ON `bbsdb`.* TO 'yaya'@'%'            |

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

2 rows in set (0.00 sec)

查看時(shí)顯示為從服務(wù)

MySQL [(none)]> select @@hostname;

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

| @@hostname |

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

| 4-4mysql          |

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

1 row in set (0.00 sec)

MySQL [(none)]> insert into bbsdb.t1 values(100);

添加后切換為主服務(wù)

MySQL [(none)]> select @@hostname;

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

| @@hostname |

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

| 4-3mysql          |

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

1 row in set (0.00 sec)

網(wǎng)站欄目:DBA成長(zhǎng)之路---mysql主從同步,讀寫分離
標(biāo)題路徑:http://www.chinadenli.net/article30/gpdipo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)移動(dòng)網(wǎng)站建設(shè)靜態(tài)網(wǎng)站手機(jī)網(wǎng)站建設(shè)微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)