亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql5.6部署集群基礎環境

發布時間:2020-07-14 17:54:00 來源:網絡 閱讀:1042 作者:運維的名義 欄目:建站服務器


mysql5.6部署集群基礎環境

-----------------------------


   部署集群基礎環境

   MySQL-MMM架構部署

   MySQL-MMM架構使用

   

   部署集群基礎環境

     192.168.4.10     master1

     192.168.4.11     master2

     192.168.4.12     slave1

     192.168.4.13     slave2

     192.168.4.100     monitor

 使用5臺mysql5.6 其中192.168.4.10、192.168.4.11作為mysql雙主服務器,192.168.4.12、  192.168.4.13作為主服務器的從服務器。

 192.168.4.100 作為mysql-MMM架構中管理監控服務器, mysql5.6部署集群基礎環境  

 步驟一:配置hosts本地解析

 

 1.配置本機hosts解析記錄

[root@master1 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.4.10    master1         master1.tarena.com

192.168.4.11    master2         master2.tarena.com

192.168.4.12    slave1          slave1.tarena.com

192.168.4.13    slave2          slave2.tarena.com

192.168.4.100   monitor         monitor.tarena.com


 2.測試hosts解析成功

[root@master1 ~]# ping -c 3 master1

PING master1 (192.168.4.10) 56(84) bytes of data.

64 bytes from master1 (192.168.4.10): icmp_seq=1 ttl=64 time=0.019 ms

64 bytes from master1 (192.168.4.10): icmp_seq=2 ttl=64 time=0.019 ms

64 bytes from master1 (192.168.4.10): icmp_seq=3 ttl=64 time=0.022 ms


--- master1 ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2000ms

rtt min/avg/max/mdev = 0.019/0.020/0.022/0.001 ms


---------------------------------------------------


步驟二:部署數據庫主機


    http://xmomo.blog.51cto.com/5994484/1939747


步驟三:部署雙主多從結構


1)數據庫授權(4臺數據庫主機master1,master2,slave1,slave2執行以下操作)

   部署主從同步只需要授權一個主從同步用戶即可,但是我們要部署mysql-MMM架構,

   所以在這里我們將mysql-MMM所需用戶一并進行授權設置。再授權一個測試用戶,在架構搭建完成時測試使用。

   

master1設置:

[root@master1 ~]# mysql -uroot -ppwd123


數據庫授權部分為了方便試驗我直接允許所有地址訪問了,生產環境需謹慎

mysql> grant   replication  slave  on  *.*  to  slaveuser@"%" identified by  "pwd123"; //主從同步授權

Query OK,0 rows affected(0.00 sec)


mysql> grant  replication  client  on *.*  to  monitor@"%" identified by "monitor";      //MMM所需架構用戶授權

Query OK,0 rows affected(0.06 sec)


mysql> grant  replication client,process,super   on *.*  to  agent@"%" identified by "agent";  //MMM所需架構用戶授權

Query OK,0 rows affected(0.00 sec)


mysql> grant  all  on *.*  to  root@"%" identified by "pwd123";   //測試用戶授權

Query OK,0 rows affected(0.00 sec)

mysql>


2)開啟主數據庫bin-log日志、設置server_id(master1,master2)


master1設置:  

[root@master1 ~]# vi /etc/my.cnf 

[mysqld]

server_id=100      //設置server_id,服務器唯一ID,必須是1至232-1之間的整數

log-bin            //(主庫必須開啟)開啟bin-log日志


master2設置:

[root@master2 ~]# vi /etc/my.cnf

[mysqld]

server_id=101

log-bin


重啟兩臺主庫的mysql服務


3)從庫設置server_id(slave1,slave2)

slave1設置:

[root@slave1 ~]#vi /etc/my.cnf

[mysqld]

log-bin                  //主庫必須開啟

server-id=102


注意:在集群,所有的服務器ID編號都必須是唯一的。

mysql主庫的二進制日志必須要開啟,從服務器上二進制日志功能是不需要開啟的。

但是,你也可以通過啟用從服務器的二進制日志功能,實現數據備份與恢復,此外在一些更復雜的拓撲環境中,mysql從服務器也可以扮演其他從服務器的主服務器。



slave2設置:

[root@slave2 ~]#vi /etc/my.cnf 

[mysqld]

log-bin

server-id=103


重啟兩臺從庫的mysql服務


4)配置主從從從關系

     配置master2、slave1、slave2成為master1的從服務器

 

查看master1服務器bin-log日志使用節點信息:

[root@master1 ~]# mysql -uroot -ppwd123

....

mysql> flush tables with read lock;

mysql> show master status\G

***************************1. row ***************************

             File: master1-bin.000001

         Position:120

     Binlog_Do_DB:

 Binlog_Ignore_DB:

Executed_Gtid_Set:

1 row inset(0.00 sec)

mysql>

mysql> unlock tables;


 注意:執行完此步驟后不要再操作主服務器mysql,防止主服務器狀態值變化   

      防止其他主機操作主數據庫,可以用只讀鎖表的方式來防止數據庫被修改。

 

   flush tables with read lock; 命令的作用是對所有數據庫的所有表執行只讀鎖定,

   只讀鎖定后所有數據庫的寫操作將被拒絕,但讀操作可以繼續。

   執行鎖定可以防止在查看二進制日志信息的同時有人對數據進行修改操作,

   最后使用unlock tables; 語句對全局鎖執行結束操作。

   

設置master2為master1的從庫:

[root@master2 ~]# mysql -uroot -ppwd123

....

mysql> change master to master_host='192.168.4.10',master_user='slaveuser',master_password='pwd123',master_log_file='master1-bin.000001',master_log_pos=120; 


     數據復制的關鍵操作是配置從服務器去連接主服務器進行數據復制,我們需要告知從服務器建立網絡連接所有必要的信息。

使用CHANGE MASTER TO 語句即可完成該項工作,

     MASTER_HOST          指定主服務器主機名或IP地址,

     MASTER_USER          為主服務器上創建的擁有復制權限的賬戶名稱,

     MASTER_PASSWORD      為該賬戶的密碼,

     MASTER_LOG_FILE      指定主服務器二進制日志文件名稱,

     MASTER_LOG_POS       為主服務器二進制日志當前記錄的位置。

 

mysql> start slave;  //啟動同步進程

         注:以為我之前做過主從,在啟動同步進程的時候報錯(1872)。可以用命令 reset slave;  然后在change master to重新連接。  


mysql> show slave status\G                        //查看主從是否成功

....

啟動同步進程后查看IO節點和SQL節點是否為Yes如果均為Yes表示主從正常。

             Slave_IO_Running: Yes                //IO節點正常

            Slave_SQL_Running: Yes                //SQL節點正常

....


設置slave1為master1從:

[root@slave1 ~]# mysql -uroot -ppwd123

mysql>change master to master_host='192.168.4.10',master_user='slaveuser',master_password='pwd123',master_log_file='master1-bin.000001',master_log_pos=120; 

mysql> start slave;

mysql> show slave status\G

....

             Slave_IO_Running: Yes                //IO節點正常

            Slave_SQL_Running: Yes                //SQL節點正常

....

mysql>

設置slave2為master1從:

[root@slave2 ~]# mysql -uroot -ppwd123

....

mysql>change master to master_host='192.168.4.10',master_user='slaveuser',master_password='pwd123',master_log_file='master1-bin.000001',master_log_pos=120; 

mysql> start slave;

mysql> show slave status\G

....

             Slave_IO_Running: Yes                //IO節點正常

            Slave_SQL_Running: Yes                //SQL節點正常

....

---------------------------------------------------------------------------------------------


5)配置主主從從關系,將master1配置為master2的從


查看master2的bin-log使用信息:

[root@master2 ~]# mysql -uroot -ppwd123

....

mysql> show master status\G

***************************1. row ***************************

             File: master2-bin.000001

         Position:120

     Binlog_Do_DB:

 Binlog_Ignore_DB:

Executed_Gtid_Set:

1 row inset(0.00 sec)



設置master1成為master2的從:

[root@master1 ~]# mysql -uroot -ppwd123

....

mysql> change master to master_host='192.168.4.11',master_user='slaveuser',master_password='pwd123',master_log_file='master2-bin.000001',master_log_pos=120; 

mysql> start slave;

Query OK,0 rows affected(0.27 sec)

mysql> show slave status\G

....

             Slave_IO_Running: Yes                //IO節點正常

            Slave_SQL_Running: Yes                //SQL節點正常

....



6)測試主主從從架構是否成功

master1更新數據,查看其它主機是否同步:

[root@master1 ~]# mysql -uroot -ppwd123

....

mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| test               |

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

4 rows inset(0.00 sec)


mysql> create database tarena;


mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| tarena             |

| test               |

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

5 rows inset(0.00 sec)

mysql>


master2主機查看:

[root@master2 ~]# mysql -uroot -ppwd123 -e "show databases"

Warning: Using a password on the command line interface can be insecure.

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| tarena             |

| test               |

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



slave1主機查看:

[root@slave1 ~]# mysql -uroot -ppwd123 -e "show databases"

Warning: Using a password on the command line interface can be insecure.

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| tarena             |

| test               |

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



slave2主機查看:

[root@slave2 ~]# mysql -uroot -ppwd123 -e "show databases"

Warning: Using a password on the command line interface can be insecure.

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| tarena             |

| test               |

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



=============================================================




2 mysql-MMM架構部署



使用5臺centos服務器,其中192.168.4.10、192.168.4.11作為mysql雙主服務器,192.168.4.12、192.168.4.13作為主服務器的從服務器,

192.168.4.100 作為mysql-MMM架構中管理監控服務器,實現監控mysql主從服務器的工作狀態及決定故障節點的移除或恢復工作。


mysql5.6部署集群基礎環境


步驟一:安裝mysql-MMM

 安裝依賴yum源(mysql集群內5臺服務器master1,master2,slave1,slave2,monitor)均需安裝

 

  rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm


1) 安裝監控程序

  在管理服務器(monitor)上,執行下面命令:

  

[root@monitor ~]# yum -y install mysql-mmm-monitor*   perl-Time-HiRes*




2) 安裝代理程序


mysql集群內4臺服務器(master1、master2、slave1、slave2)


# yum -y install mysql-mmm-agent*  

....



步驟二:修改配置文件


1)修改公共配置文件


本案例中mysql集群的5臺服務器(master1、master2、slave1、slave2、monitor)都需要配置,可以先配好一臺后使用scp復制。


[root@master1 ~]# vim  /etc/mysql-mmm/mmm_common.conf 

active_master_role    writer

<host default>

    cluster_interface        eth0

    pid_path                /var/run/mmm_agentd.pid

    bin_path                /usr/lib/mysql-mmm/

    replication_user        slaveuser            //設置主從同步的用戶

    replication_password    pwd123            //設置主從同步用戶密碼

    agent_user            agent              //mmm-agent控制數據庫用戶

    agent_password        agent             //mmm-agent控制數據庫用戶密碼

</host>

<host master1>  //設置第一個主服務器

    ip                      192.168.4.10//master1 IP 地址

    mode                    master

    peer                    master2            //指定另外一臺主服務器

</host>

<host master2>  //指定另外一臺主服務器

    ip                    192.168.4.11

    mode                    master

    peer                    master1

</host>

<host slave1>  //設置第一臺從服務器

    ip                    192.168.4.12//slave1 IP 地址

    mode                    slave                //本段落配置的是slave服務器

</host>

<host slave2>

    ip                    192.168.4.13

    mode                    slave

</host>

<role writer>   //設置寫入服務器工作模式

    hosts                master1,master2        //提供寫的主服務器

    ips                    192.168.4.200       //設置VIP地址

    mode                    exclusive          //排他模式

</role>

<role reader>  //設置讀取服務器工作模式

    hosts                slave1,slave2         //提供讀的服務器信息

    ips                    192.168.4.201,192.168.4.202   //多個虛擬IP

    mode                    balanced                        //均衡模式

</role>

....



2)修改管理主機配置文件(monitor主機配置)

[root@monitor ~]# vim /etc/mysql-mmm/mmm_mon.conf 

include mmm_common.conf

<monitor>

    ip                        192.168.4.100//設置管理主機IP地址

    pid_path                /var/run/mmm_mond.pid

    bin_path                /usr/lib/mysql-mmm/

    status_path                /var/lib/misc/mmm_mond.status

    ping_ips                192.168.4.10,192.168.4.11,192.168.4.12,192.168.4.13   //設置被監控數據庫

</monitor>

<host default>

    monitor_user            monitor                    //監控數據庫mysql用戶   

monitor_password        monitor                    //監控數據庫mysql用戶密碼

</host>

debug 0

....



[root@monitor ~]#

3)修改客戶端配置文件


master1配置

[root@master1 ~]# vi /etc/mysql-mmm/mmm_agent.conf 

include mmm_common.conf

this master1


master2配置

[root@master2 ~]# vi /etc/mysql-mmm/mmm_agent.conf 

include mmm_common.conf

this master2


slave1配置

[root@slave1 ~]# vi /etc/mysql-mmm/mmm_agent.conf 

include mmm_common.conf

this slave1


slave2配置

[root@slave2 ~]# vi /etc/mysql-mmm/mmm_agent.conf 

include mmm_common.conf

this slave2



==========================================================



3 mysql-MMM架構使用



啟動MMM集群架構

設置集群中服務器為online狀態



mysql-MMM架構部署完成后需要啟動,數據庫端啟動mmm-agent進程,管理端啟動mmm-monitor進程,啟動完成后設置所有數據庫主機狀態為online。



步驟一:啟動MMM集群架構

1)啟動mmm-agent進程


master1操作:

[root@master1 ~]# /etc/init.d/mysql-mmm-agent start


master2操作:

[root@master2 ~]# /etc/init.d/mysql-mmm-agent start


slave1操作:

[root@slave1 ~]# /etc/init.d/mysql-mmm-agent start


slave2操作:

[root@slave2 ~]# /etc/init.d/mysql-mmm-agent start


2)啟動mmm-monitor進程

monitor主機操作:

[root@monitor ~]# /etc/init.d/mysql-mmm-monitor start



步驟二:設置集群中服務器為online狀態

控制命令只能在管理端monitor服務器上執行。

查看當前集群中各服務器狀態:


[root@monitor ~]# mmm_control show

master1(192.168.4.10)master/AWAITING_RECOVERY. Roles:

master2(192.168.4.11)master/AWAITING_RECOVERY. Roles:

slave1(192.168.4.12)slave/AWAITING_RECOVERY. Roles:

slave2(192.168.4.13)slave/AWAITING_RECOVERY. Roles:


設置4臺數據庫主機狀態為online:

[root@monitor ~]# mmm_control set_online master1

OK: State of 'master1' changed to ONLINE. Now you can wait some time and check its new roles!


[root@monitor ~]# mmm_control set_online master2

OK: State of 'master2' changed to ONLINE. Now you can wait some time and check its new roles!


[root@monitor ~]# mmm_control set_online slave1

OK: State of 'slave1' changed to ONLINE. Now you can wait some time and check its new roles!


[root@monitor ~]# mmm_control set_online slave2

OK: State of 'slave2' changed to ONLINE. Now you can wait some time and check its new roles!



再次查看當前集群中各服務器狀態:

[root@monitor ~]# mmm_control show

master1(192.168.4.10)master/ONLINE. Roles:writer(192.168.4.200)

master2(192.168.4.11)master/ONLINE. Roles:

slave1(192.168.4.12)slave/ONLINE. Roles:reader(192.168.4.201)

slave2(192.168.4.13)slave/ONLINE. Roles:reader(192.168.4.202)



步驟三:測試mysql-MMM架構


2)mysql-MMM虛擬IP訪問測試

[root@client ~]# mysql -h292.168.4.200-uroot -ppwd123 -e "show databases"

Warning: Using a password on the command line interface can be insecure.

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| tarena             |

| test               |

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

[root@client ~]#

[root@client ~]# mysql -h292.168.4.201-uroot -ppwd123 -e "show databases"

Warning: Using a password on the command line interface can be insecure.

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| tarena             |

| test               |

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

[root@client ~]#

[root@client ~]# mysql -h292.168.4.202-uroot -ppwd123 -e "show databases"

Warning: Using a password on the command line interface can be insecure.

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| tarena             |

| test               |

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

[root@client ~]#



3)主數據庫宕機測試

[root@master1 ~]# service mysql stop                    //停止master1上服務

Shutting down mysql....[確定]


[root@monitor ~]# mmm_control show                        //查看集群內服務器狀態

通過輸出信息可以看到虛擬IP從master1切換到master2:

master1(192.168.4.10)master/HARD_OFFLINE. Roles:

master2(192.168.4.11)master/ONLINE. Roles:writer(192.168.4.200)

slave1(192.168.4.12)slave/ONLINE. Roles:reader(192.168.4.201)

slave2(192.168.4.13)slave/ONLINE. Roles:reader(192.168.4.202)


[root@client ~]# mysql -h292.168.4.200-uroot -ppwd123 -e "show databases"  //訪問虛擬IP測試

Warning: Using a password on the command line interface can be insecure.

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| tarena             |

| test               |

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

[root@client ~]#


MySQL-MMM集群架構就完成了。



過程中遇到的問題:

   我在第一次 mmm_control show 查看集群服務器狀態的時候,發現除了master1的狀態為AWAITING_RECOVERY, 其他三臺為HARD_OFFLINE。

   這是因為我最開始創建的monitor用戶沒有被同步過去,在主庫master1 重新創建就好。

   

   查看MYSQL數據庫中所有用戶 ,

  mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

  

 還有一個問題,我的環境是虛擬機克隆的,配置主從的時候遇到UUID沖突的問題,

  停止數據庫 把數據庫所在目錄下的auto.cnf 備份一份之后,刪除。 重啟就好了。

  

  主庫master1 一定要記得開啟 log-slave-updates

  

  

  


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高州市| 项城市| 喀喇沁旗| 封开县| 香格里拉县| 固阳县| 金坛市| 南召县| 玉田县| 镇远县| 通化县| 曲靖市| 卓资县| 新乡市| 永平县| 克拉玛依市| 彝良县| 竹北市| 多伦县| 寿宁县| 田林县| 元阳县| 江门市| 兴安县| 荆门市| 宜君县| 通许县| 虹口区| 龙江县| 安国市| 遂宁市| 宜丰县| 宿迁市| 同心县| 廉江市| 青阳县| 民勤县| 龙泉市| 禄丰县| 临海市| 西盟|