返回顶部
首页 > 资讯 > 数据库 >centos7 mysql互为主从+keepalived
  • 180
分享到

centos7 mysql互为主从+keepalived

2024-04-02 19:04:59 180人浏览 八月长安
摘要

一、互为主从配置1.1、资源情况192.168.11.177 server1192.168.11.180 server2192.168.11.210 VIP1.2、server1配置# vi /etc/my

一、互为主从配置

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/69942101

Https://www.cnblogs.com/kevingrace/p/6710136.html
您可能感兴趣的文档:

--结束END--

本文标题: centos7 mysql互为主从+keepalived

本文链接: https://lsjlt.com/news/46289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • centos7 mysql互为主从+keepalived
    一、互为主从配置1.1、资源情况192.168.11.177 server1192.168.11.180 server2192.168.11.210 VIP1.2、server1配置# vi /etc/my...
    99+
    2024-04-02
  • MySQL 5.6中如何通过Keepalived+互为主从实现高可用架构
    不知道大家之前对类似MySQL 5.6中如何通过Keepalived+互为主从实现高可用架构的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完MySQL 5.6中如何...
    99+
    2024-04-02
  • MySQL中怎么配置互为主从
    这期内容当中小编将会给大家带来有关MySQL中怎么配置互为主从,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 1)    &nb...
    99+
    2024-04-02
  • MySQL中怎样配置互为主从
    本篇文章给大家分享的是有关MySQL中怎样配置互为主从,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。MySQL-VIP:192.168.1.2...
    99+
    2024-04-02
  • Centos7配置mysql主从:一主多从
    mysql主从复制原理1.首先master将数据更新记录到二进制binlog文件2.slave通过I/O线程向master请求binlog日志文件指定位置之后的内容3.master接收到slave的io请求...
    99+
    2024-04-02
  • mysql数据库主从同步之双主配置----互为主从
    Mysql数据库复制原理:整体上来说,复制有3个步骤:   (1)master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log even...
    99+
    2024-04-02
  • 搭建互为主从的MySQL服务器
    node1的IP地址:192.168.1.254node2的IP地址:192.168.1.253操作系统为RHEL7.3,MySQL版本为5.7.181、修改node1的MySQL配置文件#注意server...
    99+
    2024-04-02
  • Centenos7.4下搭建mysql集群--mysql主主互备,keepalived高可用
    mysql + keepalived环境搭建 1.环境准备 系统:Centenos7.4 mysql版本 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz keepal...
    99+
    2024-04-02
  • mysql 中怎么实现互为主从复制
    本篇文章给大家分享的是有关mysql 中怎么实现互为主从复制,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 报错: 1) change ...
    99+
    2024-04-02
  • mysql双主+keepalived
    环境 OS: centos7Mysql 版本: mysql 5.7Keepalived: keepalived-1.2.20Mysql-vip:192.168.41.100Mysql-master1:192...
    99+
    2024-04-02
  • keepalived+mysql双主
    keepalived+mysql双主原理:(1)主库1上的keepalived启动之后,会检查mysql服务是否活着,如果活着,keepalived进入master状态,获得VIP;(2)主库2上的keep...
    99+
    2024-04-02
  • mysql主主+keepalived高可用
    mysql主主+keepalived高可用 1.两台主机 host: db1 外网:11.0.0.51 内网:172.16.1.51 db2 外网:11.0.0.52 内网:172.16.1.52 ...
    99+
    2024-04-02
  • mysql 5.7+keepalived主从切换步骤是怎样的
    这篇文章主要讲解了“mysql 5.7+keepalived主从切换步骤是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql 5.7+keepa...
    99+
    2024-04-02
  • keepalived中mysql主从配置的方法是什么
    在keepalived中配置MySQL主从复制,可以通过以下步骤实现: 在主服务器和从服务器上安装MySQL,并进行配置; 配置主...
    99+
    2024-05-10
    keepalived mysql
  • mysql中怎么利用mysql-mm实现互为主从复制
    这篇文章将为大家详细讲解有关mysql中怎么利用mysql-mm实现互为主从复制,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 原理讲述: AB复制主要...
    99+
    2024-04-02
  • mysql-mmm如何实现mysql互为主从复制HA功能
    mysql-mmm如何实现mysql互为主从复制HA功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  每个my...
    99+
    2024-04-02
  • PGSQL主从+keepalived高可用配置
    环境说明:主机与IP:192.168.11.177 主库192.168.11.180 备库 192.168.11.210  VIP 系统:centos7.2PGSQL9.6主从...
    99+
    2024-04-02
  • keepalived怎么配置redis主从切换
    本篇内容介绍了“keepalived怎么配置redis主从切换”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!IP规划:主节点:10.0.37...
    99+
    2023-06-05
  • MySQL主从配置及haproxy和keepalived搭建过程解析
    目录docker 小知识创建harpoxy、Keepalive 的容器下载MySQLMySQL主主配置172.17.0.2 MySQL 配置172.17.0.2的配置执行sql命令M...
    99+
    2024-04-02
  • mysql互为主从的环境为什么会出现数据不一致
    本篇内容介绍了“mysql互为主从的环境为什么会出现数据不一致”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作