centos mysql 互為主從_centos7 mysql互為主從+keepalived

一、互為主從配置

1.1、資源情況

192.168.11.177 server1

192.168.11.180 server2

192.168.11.210 VIP

1.2、server1配置

# vi /etc/my.cnf

[mysqld]

server-id=1

log-bin=mysql-bin

relay_log=mysql-realy-bin

relay_log_index=slave-mysql-realy-bin.index

expire_logs_days=15

binlog_format=mixed

auto-increment-increment=2

auto-increment-offset= 1

innodb_flush_log_at_trx_commit=1

replicate-ignore-db=sys

replicate-ignore-db=mysql

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

datadir=/data/mysql_data

socket=/var/lib/mysql/mysql.sock

character_set_server=utf8

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

# innodb optimization

innodb_buffer_pool_size=8G

innodb_log_file_size=256M

innodb_flush_method=O_DIRECT

max_connections=500

innodb_autoextend_increment=128

1.3、server2配置

# vi /etc/my.cnf

server-id=2

log-bin=mysql-bin

relay_log=mysql-realy-bin

relay_log_index=slave-realy-bin.index

expire_logs_days=15

binlog_format=mixed

auto-increment-increment=2

auto-increment-offset= 2

innodb_flush_log_at_trx_commit=1

replicate-ignore-db=sys

replicate-ignore-db=mysql

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

datadir=/data/mysql_data

socket=/var/lib/mysql/mysql.sock

character_set_server=utf8

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

# innodb optimization

innodb_buffer_pool_size=8G

innodb_log_file_size=256M

innodb_flush_method=O_DIRECT

max_connections=500

innodb_autoextend_increment=128

1.4、server1、server2上修改賬戶密碼,創建同步賬戶

# mysql -p

mysql> set password=password('******');

mysql> create user repluser@'%' identified by '******';

mysql> grant replication slave, replication client on *.* to repluser@'%';

1.5、server2建立同步

server1的master狀態

mysql> show master status;

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

| File ? ? ? ? ? ? | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| mysql-bin.000003 | ? ? ?882 | ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? |

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

mysql> CHANGE MASTER TO MASTER_HOST='192.168.11.177', MASTER_USER='repluser', MASTER_PASSWORD='******', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=882;

Query OK, 0 rows affected, 2 warnings (0.10 sec)

mysql> show slave status\G

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

Slave_IO_State:

Master_Host: 192.168.11.177

Master_User: repluser

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000003

Read_Master_Log_Pos: 882

Relay_Log_File: mysql-realy-bin.000001

Relay_Log_Pos: 4

Relay_Master_Log_File: mysql-bin.000003

Slave_IO_Running: No

Slave_SQL_Running: No

Replicate_Do_DB:

Replicate_Ignore_DB: sys,mysql,information_schema,performance_schema

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 882

Relay_Log_Space: 154

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: NULL

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 0

Master_UUID:

Master_Info_File: /data/mysql_data/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State:

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

# vi /data/mysql_data/auto.cnf

[auto]

server-uuid=cbcefb67-9f9a-11e8-91b3-06ba24001d86

>

server-uuid=cbcefb77-9f9a-11e8-91b3-06ba24001d86

mysql> show slave status\G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.11.177

Master_User: repluser

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000003

Read_Master_Log_Pos: 882

Relay_Log_File: mysql-realy-bin.000003

Relay_Log_Pos: 320

Relay_Master_Log_File: mysql-bin.000003

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB: sys,mysql,information_schema,performance_schema

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 882

Relay_Log_Space: 527

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

Master_UUID: cd146946-9f95-11e8-9a29-063696001d83

Master_Info_File: /data/mysql_data/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

mysql> start slave;

mysql> show master status;

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

| File ? ? ? ? ? ? | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

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

| mysql-bin.000003 | ? ? ?154 | ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? |

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

1.6、server1建立同步

mysql> CHANGE MASTER TO MASTER_HOST='192.168.11.180', MASTER_USER='repluser', MASTER_PASSWORD='******', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=154;

Query OK, 0 rows affected, 2 warnings (0.22 sec)

mysql> start slave;

Query OK, 0 rows affected (0.01 sec)

mysql> show slave status\G

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

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.11.180

Master_User: repluser

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000003

Read_Master_Log_Pos: 154

Relay_Log_File: mysql-realy-bin.000002

Relay_Log_Pos: 320

Relay_Master_Log_File: mysql-bin.000003

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB:

Replicate_Ignore_DB: sys,mysql,information_schema,performance_schema

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 154

Relay_Log_Space: 527

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 2

Master_UUID: cbcefb67-9f9a-11e8-91b3-06ba24001d86

Master_Info_File: /data/mysql_data/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

Master_Retry_Count: 86400

Master_Bind:

Last_IO_Error_Timestamp:

Last_SQL_Error_Timestamp:

Master_SSL_Crl:

Master_SSL_Crlpath:

Retrieved_Gtid_Set:

Executed_Gtid_Set:

Auto_Position: 0

Replicate_Rewrite_DB:

Channel_Name:

Master_TLS_Version:

1 row in set (0.00 sec)

mysql> create database ceshi_db;

Query OK, 1 row affected (0.01 sec)

mysql> use ceshi_db1;

Database changed

mysql> create table home(id int(10) not null,name char(10));

Query OK, 0 rows affected (0.14 sec)

1.7、server2驗證

mysql> show databases;

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

| Database ? ? ? ? ? |

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

| information_schema |

| ceshi_db ? ? ? ? ? |

| mysql ? ? ? ? ? ? ?|

| performance_schema |

| sys ? ? ? ? ? ? ? ?|

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

5 rows in set (0.00 sec)

mysql> use ceshi_db;

Database changed

mysql> show tables;

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

| Tables_in_ceshi_db |

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

| home ? ? ? ? ? ? ? |

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

1 row in set (0.00 sec)

mysql> create database ceshi_db1;

Query OK, 1 row affected (0.01 sec)

mysql> create table home(id int(10) not null,name char(10));^C

mysql> use ceshi_db1;

Database changed

mysql> create table home(id int(10) not null,name char(10));

Query OK, 0 rows affected (0.09 sec)

1.8、server1驗證

mysql> show databases;

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

| Database ? ? ? ? ? |

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

| information_schema |

| ceshi_db ? ? ? ? ? |

| ceshi_db1 ? ? ? ? ?|

| mysql ? ? ? ? ? ? ?|

| performance_schema |

| sys ? ? ? ? ? ? ? ?|

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

6 rows in set (0.00 sec)

mysql> use ceshi_db1;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;

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

| Tables_in_ceshi_db1 |

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

| home ? ? ? ? ? ? ? ?|

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

1 row in set (0.00 sec)

二、keepalived配置

2.1、server1配置

# cat /etc/keepalived/keepalived.conf

global_defs {

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id mysql-1

}

vrrp_script chk_mysql {

script "/etc/keepalived/scripts/mysql_check.sh"

interval 2

weight -5

fall 2

rise 1

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 61

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_mysql

}

virtual_ipaddress {

182.168.11.210

}

}

2.2、server2配置

# cat /etc/keepalived/keepalived.conf

global_defs {

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id mysql-2

}

vrrp_script chk_mysql {

script "/etc/keepalived/scripts/mysql_check.sh"

interval 2

weight -5

fall 2

rise 1

}

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id 61

priority 99

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_mysql

}

virtual_ipaddress {

182.168.11.210

}

}

2.3、腳本

# cat /etc/keepalived/scripts/mysql_check.sh

#!/bin/bash

counter=$(netstat -na|grep "LISTEN"|grep "3306"|wc -l)

if [ "${counter}" -eq 0 ]; then

service keepalived stop

fi

2.4、不搶占模式

如果把server1設置為VIP不搶占模式,做下面修改

server1

# vi /etc/keepalived/keepalived.conf

添加

nopreempt

state MASTER

>

state BACKUP

#防止切換到從庫后,主keepalived恢復后自動切換回主庫

參考:

https://blog.csdn.net/qq_36276335/article/details/69942101https://www.cnblogs.com/kevingrace/p/6710136.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532910.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532910.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532910.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

手機apk簽名工具安卓版_小飛魚APK簽名工具使用方法

小飛魚APK簽名工具是小飛魚旗下的一款APK簽名軟件。是移動開發者必備的一款軟件。使用方法1、雙擊運行小飛魚APK簽名工具.exe文件,出現如下界面:2、點擊“功能”,沒有簽名證書的選擇證書制作,制作完證書再選擇APK簽名,有證書的直接…

React 路由傳參

引言 在上一篇中&#xff0c;我們學習了 React 中使用路由技術&#xff0c;以及如何使用 MyNavLink 去優化使用路由時的代碼冗余的情況。 這一節我們繼續上一篇 React 路由進行一些補充 1. Switch 解決相同路徑問題 首先我們看一段這樣的代碼 <Route path"/home&q…

mysql 5.5 client 字符集_rhel4 mysql5.5 字符集_character set

和oracle字符集一樣,有些暈,太細了小結:1,字符集分為:服務器,數據庫,表,連接,列等對應參數為:mysql> show variables like chara%;------------------------------------------------------| Variable_name | Value |---------------------…

mysql heartbeat lvs_mysql+heartbeat+DRBD+LVS實現mysql高可用二

上一節&#xff0c;講述了DRBD的安裝&#xff0c;因為要利用heartbeatDRBDmysql實現mysql的高可用&#xff0c;所以這一節講述安裝mysql和heartbeat的安裝分別在各個節點安裝mysql&#xff0c;文本使用的是二進制的安裝包mysql-5.5.33-linux2.6-x86_64.tar.gz[rootdrbd1 usr]# …

mysql 嵌入式 性能_database – 在mySQL中優化嵌入式SELECT查詢

好的,這是我現在正在運行的一個查詢,它有45,000條記錄,大小為65MB ……并且即將變得越來越大(所以我也要考慮未來的性能)&#xff1a;SELECT count(payment_id) as signup_count,sum(amount) as signup_amountFROM payments pWHERE tm_completed BETWEEN 2009-05-01 AND 2009-0…

mysql執行語句后回退_MySQL命令學習筆記(八)

1 安全管理1.1 訪問控制MySQL服務器的安全基礎是&#xff1a; 用戶應該對他們需要的數據具有適當的訪問權&#xff0c;既不能多也不能少1.2 管理用戶MySQL用戶賬號和信息存儲在名為mysql的MySQL數據庫中。獲得所有用戶賬號列表時&#xff0c;可使用以下代碼&#xff1a;USE mys…

mysql怎樣dao出數據庫_mysql怎么導出數據庫?

mysql怎么導出數據庫&#xff1f;下面本篇文章就來給大家介紹3種mysql導出數據庫的方法&#xff0c;希望對你們有所幫助。mysql導出數據庫的方法&#xff1a;方法一cmd 到mysql bin目錄下用如下命令&#xff1a;mysqldump --opt -h192.168.0.156 -uusername -ppassword --skip-…

mac 安裝mysql怎么卸載不干凈_CleanMyMac卸載不干凈怎么辦?如何徹底刪除Mac上的CleanMyMac?...

CleanMyMac for mac是非常受歡迎的系統清理、軟件卸載軟件&#xff0c;但是想要卸載CleanMyMac的有些用戶發現不能完全卸載&#xff0c;那么CleanMyMac卸載不干凈怎么辦&#xff1f;如何徹底刪除CleanMyMac&#xff1f;這里帶來兩種可以徹底刪除CleanMyMac的方法&#xff0c;有…

mysql判斷是否為null_MySQL如何判斷字段是否為null

相信很多用了MySQL很久的人,對這兩個字段屬性的概念還不是很清楚,一般會有以下疑問: 我字段類型是not null,為什么我可以插入空值 為什么not null的效率比null高 判斷字段不為空的時候,到底要 select * from table where column <> 還是要用 select * from table w…

mysql修改表的字段_mysql修改表字段學習筆記

--修改表字段CREATE TABLE register (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR (10) DEFAULT NULL UNIQUE KEY,age tinyint UNSIGNED DEFAULT 18,regisTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP (),fund DOUBLE (9, 2) DEFAULT 1000000.00,tel CHAR (11) NOT NULL);--…

python 條件概率_使用Pymc3的條件概率

我的問題是如何使用PYMC3包來實現條件概率模型。在我有一組數據a_觀察到&#xff0c;b棼u觀察到&#xff0c;并且我想找出它們之間的關系。我懷疑a&#xff0c;b&#xff0c;c都是正態分布&#xff0c;b依賴于a&#xff0c;c依賴于a&#xff0c;b。我需要找到參數。在到目前為止…

python如何導入自定義模塊_【python】導入自定義模塊

一、直接import1.當執行文件與要導入的py文件在同一目錄下時假設要在wangyi.py中導入weibo.py文件import weibo2.當執行文件與要導入的py文件所在文件夾在同一目錄下時假設要在wangyi.py中導入post packaging中的method.py(1)from post_packaging import method(2)from post_pa…

python給視頻加背景音樂_python中加背景音樂如何操作

在python中加背景音樂的方法&#xff1a;1、導入pygame資源包&#xff1b;2、修改音樂的file路徑&#xff1b;3、使用init()方法進行初始化&#xff1b;4、使用load()方法添加音樂文件&#xff1b;5、使用play()方法播放音樂流即可。下面的代碼直接復制粘貼到自己的代碼即可實現…

python能和wincc一起用_搬家第二天-41.Wincc V7.3 利用Inputbox和Msgbox做權限管理和二次確認設計...

有時候我們希望做某個操作時&#xff0c;有密碼管理或者二次確認。密碼管理可以通過用戶管理方式設置權限&#xff0c;也可以通過彈窗輸入密碼的方式&#xff1b;二次確認主要是使用彈窗然后捕獲用戶點擊的按鈕編號來進行。下面通過一個簡單的日子記錄一下如何實現。一 準備工作…

mysql中的函數編程_MySQL

12.2. 控制流程函數CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END在第一個方案的返回結果中&#xff0c; valuecompare-v…

python畫窗口_pyqt中圖案如何畫在子窗口上

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓基本思路是從QWidget派生出一個類重寫paintEvent&#xff0c;在里面畫圖。UI部分代碼是這樣的class Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(1008, 693)self.widget QtWidgets…

twisted mysql_Twisted MySQL adbapi返回字典

有沒有辦法把adbapi查詢的字典結果返回到MySQL&#xff1f;在[name: Bob, phone_number: 9123 4567]默認返回元組。在^{pr2}$對于簡單的Python&MySQL&#xff0c;我們可以使用MySQLdb.cursors.dictcursors。但是如何與扭曲的adbapi一起使用呢UPD:我解決了&#xff0c;但我認…

win 10 java 安裝_win10---Java安裝及環境變量配置

一、Java安裝給出的下載地址已經是1.8.0及以上的版本&#xff0c;只需要進去根據操作系統位數選擇所對應的包即可&#xff0c;我的是Windows x64&#xff0c;所以我選擇的是第二個。注意??&#xff1a;下載jdk時&#xff0c;需要登錄Oracle賬戶&#xff0c;如果沒有&#xff…

java 生成bat_java實現生成windows可執行的批處理文件(.bat)

/*** 下載壓縮包**paramid 商戶id*paramrequest*paramresponse*returnvoid*authorchen.bing* Date 2019/11/4 17:35*/RequestMapping(value "downloadzip")public voiddownloadzip(String id, HttpServletRequest request, HttpServletResponse response) {if(String…

java 代碼塊的作用_4種Java代碼塊的作用講解

4種Java代碼塊的作用講解時間&#xff1a;2017-06-28 來源&#xff1a;華清遠見JAVA學院今天華清Java學院小編要和大家分享的是Java代碼塊的作用&#xff0c;代碼塊是一種常見的代碼形式&#xff0c;他用大括號“{&#xff5d;”將多行代碼封裝在一起&#xff0c;形成一個獨…