一、互为主从配置

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

centos mysql 互为主从_centos7 mysql互为主从+keepalived相关推荐

  1. centos7 mysql8 主从_CentOS7开启MySQL8主从备份、每日定时全量备份(推荐)

    备注1:解决连接MySQL数据库很慢的问题 vim /etc/my.cnf 添加内容:skip-name-resolve,重启数据库. 备注2:(密码带!或其他特殊符合,前面加\,例如123!321- ...

  2. centos7 mysql创建表_CentOS7 MySQL数据库入门 小白必看

    昨天网盾科技发布的一篇关于CentOS7配置ssh的文章,有很多小伙伴都收藏了,想必是对大家很有帮助,那么今天网盾科技再给大家分享一篇关于CentOS7配置MySQL数据库入门的文章,小白必看哟! l ...

  3. Centos7源码安装mysql及读写分离,互为主从

       Linux服务器 -源码安装mysql 及读写分离,互为主从   一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...

  4. mysql 5.6 互为主从_mysql5.6主从同步,互为主从配置

    由于业务需要,需要做主从同步,互为主从等的mysql设置.主从设置主要涉及主从同步时使用的账号密码配置,my.cnf的配置,进入数据库进行master,slave配置.主要是这四个配置. 1,账号密码 ...

  5. 【MySQL系列】单机热备(主从结构)和双机热备介绍和使用

    Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中.实现mysql数据库的热 ...

  6. mysql主从进行扩展_MySQL 主从扩展

    MySQL 主从扩展 常见问题排查 1. 数据不一致:SHOW SLAVE STATUS \G; Last_Errno:1062 Last_Error:Error'Duplicate entry'xx ...

  7. mysql 主从 keepalived_MySQL之双向主从加keepalived高可用

    最近在做MySQL数据库的双向主从,了解到keepalived能够自动判断并切换到可用数据库,自己试了一下,整理出文档来. 先声明一下环境 iptables开启3306端口或者关掉,关闭selinux ...

  8. mysql读写分离6_6\MySQL 主从同步 、 MySQL 读写分离 、 MySQL 性能调优

    day06 一.mysql主从同步 二.数据读写分离 三.MySQL优化 ++++++++++++++++++++++++++++++++ 一.mysql主从同步 1.1 主从同步介绍?从库服务器自动 ...

  9. mysql 读写分离缺点6_6\MySQL 主从同步 , MySQL 读写分离 , MySQL 性能调优

    6\MySQL 主从同步 , MySQL 读写分离 , MySQL 性能调优 day06 一,mysql 主从同步 二,数据读写分离 三,MySQL 优化 ++++++++++++++++++++++ ...

最新文章

  1. 分布式任务队列 Celery — Overview
  2. python转义是什么意思_Python什么情况下会输出转义符
  3. linux ps2键盘驱动,通用键盘鼠标模拟(包括USB和PS2)
  4. 在线颜色拾取器 - 资源篇
  5. 沃顿商学院最受欢迎的思维课
  6. snmp4j介绍及api使用
  7. Android之知识总结
  8. python缩进和冒号_Python缩进和冒号详解
  9. Web后端学习笔记 Flask(4)视图函数
  10. keil c语言中断怎么写,如何利用keil C实现单片机中断功能
  11. 原码、反码、补码、移码的换算关系
  12. m4s格式转换mp3_音频格式转换器哪个好,推荐几款免费的mp3格式转换器
  13. matlab plotyy 横坐标,MATLAB中plotyy函数详解:matlab双Y轴作图
  14. ElementPlus 侧边栏右侧空隙
  15. 解决直接读取webapp下的文件404问题
  16. Wireshark The capture session could not be initiated on interface报错解决
  17. SIFT--特征描述符
  18. 【腾讯敏捷转型NO.1】敏捷是什么鬼?
  19. Springboot 结合 Vue 进行本地接口联调
  20. Docker: 绿色版docker(带dockerui)安装测试记录_20200120_七侠镇莫尛貝

热门文章

  1. jmeter 压测 RabbitMQ_单机
  2. 秒后面的单位是什么_单位与国际单位制是如何由来的?
  3. java算法判断链表有没有闭环_前端算法系列之二:数据结构链表、双向链表、闭环链表、有序链表...
  4. BugkuCTF-PWN题pwn6-printf超详细讲解(未提供Libc版本)
  5. ul 原点显示_CSS+HTML ul li列表原点如何相连
  6. matlab中多边形滤波器,几种常见空间滤波器MATLAB实现
  7. 浏览器 android x86,360浏览器x86版下载
  8. java上传excel文件代码,求java把上传文件的excel表中数据存入数据库中.实现录入的代码?...
  9. vm客户机隔离不能选_开汽车美容店,这些位置绝对不能选,会让你门可罗雀,生意惨淡...
  10. 不能启动u盘 uefi_不知道怎么进入主板设置U盘启动,试试这些方式