1、系统环境架构 vip 192.168..45.244

mysql-1:192.168.45.238

mysql-2:192.168.45.239

2、mysql双主设置

192.168.45.238 代码示例:

#vim /etc/my.cnf

[client]

port      = 3306

socket    = /tmp/mysql.sock

[mysqld]

port   = 3306

socket = /tmp/mysql.sock

datadir=/usr/local/mysql/var/

skip-locking

skip-name-resolve

key_buffer = 64M

max_allowed_packet = 64M

table_cache = 2048

sort_buffer_size = 4M

net_buffer_length = 256K

read_buffer_size = 10M

read_rnd_buffer_size = 10M

myisam_sort_buffer_size = 16M

interactive_timeout = 240

wait_timeout = 240

max_connections = 800

connect_timeout=30

open_files_limit=8192

query_cache_size = 1024M

thread_cache_size=16

thread_concurrency = 8

long_query_time = 1

log-slow-queries = slow.log

innodb_additional_mem_pool_size = 8M

innodb_buffer_pool_size = 32M

innodb_log_buffer_size=8M

innodb_log_file_size = 256M

innodb_log_files_in_group = 3

innodb_file_io_threads = 8

innodb_lock_wait_timeout= 50

innodb_thread_concurrency = 16

innodb_file_per_table

log_slave_updates

expire_logs_days=7

auto_increment_increment=2

auto_increment_offset=2

binlog_format=mixed

log-bin=mysql-bin

server-id       = 8

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[isamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[myisamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

1)、设置mysql复制账号 代码示例:

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.45.238' IDENTIFIED BY 'repl_123';

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.45.239' IDENTIFIED BY 'repl_123';

2)、导出数据库 代码示例:

#mysqldump -uroot -p --single-transaction --flush-logs --master-data=2 --all-databases > all.sql

192.168.45.239

3)、mysql配置 代码示例:

#vim /etc/my.cnf

[client]

port            = 3306

socket          = /tmp/mysql.sock

[mysqld]

port            = 3306

socket          = /tmp/mysql.sock

datadir=/usr/local/mysql/var/

skip-locking

skip-name-resolve

key_buffer = 64M

max_allowed_packet = 64M

table_cache = 128

sort_buffer_size = 4M

net_buffer_length = 256K

read_buffer_size = 10M

read_rnd_buffer_size = 10M

myisam_sort_buffer_size = 64M

interactive_timeout = 240

wait_timeout = 240

max_connections = 800

connect_timeout=30

open_files_limit=8192

query_cache_size = 1024M

thread_cache_size=16

thread_concurrency = 8

long_query_time = 1

log-slow-queries = slow.log

innodb_additional_mem_pool_size = 8M

innodb_buffer_pool_size = 64M

innodb_log_buffer_size=8M

innodb_log_file_size = 256M

innodb_log_files_in_group = 3

innodb_file_io_threads = 8

innodb_lock_wait_timeout= 50

innodb_thread_concurrency = 16

innodb_file_per_table

log_slave_updates

expire_logs_days=7

auto_increment_increment=2

auto_increment_offset=1

binlog_format=mixed

log-bin=mysql-bin

server-id       = 9

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

[isamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[myisamchk]

key_buffer = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

4)、导入主库数据 代码示例:

#mysql -uroot -p < all.sql

5)、设置同步 代码示例:

mysql> CHANGE MASTER TO MASTER_HOST='192.168.45.238',MASTER_PORT='3306',MASTER_USER='repl',MASTER_PASSWORD='repl_123',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=106;

mysql> start slave;

在192.168.45.238上设置同步 代码示例:

mysql>CHANGE MASTER TOMASTER_HOST='192.168.45.239',MASTER_PORT='3306',MASTER_USER='repl',MASTER_PASSWORD='repl_123',MASTER_LOG_FILE='mysql-bin.000008',MASTER_LOG_POS=105020214;

mysql>start slave;

3、配置keepalived

192.168.45.238

192.168.45.239

1)、安装keepalived 代码示例:

wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz

tar zxvf keepalived-1.2.2.tar.gz

cd keepalived-1.2.2

./configure --prefix=/

make

make install

2)、192.168.45.238 keepalived 配置 代码示例:

6># vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id yuangnag.com

}

vrrp_script check_run {

script "/root/keepalived_check_mysql.sh"

interval 5

}

vrrp_sync_group VG1 {

group {

VI_1

}

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 88

priority 100

advert_int 1

nopreempt

authentication {

auth_type PASS

auth_pass yuangang.net

}

track_script {

check_run

}

virtual_ipaddress {

192.168.45.244

}

}

3)、检测mysql脚本配置(两台mysql一样的配置) 代码示例:

#vim

#!/bin/bash

MYSQL=/usr/local/mysql/bin/mysql

MYSQL_HOST=localhost

MYSQL_USER=root

MYSQL_PASSWORD=

CHECK_TIME=3

#mysql  is working MYSQL_OK is 1 , mysql down MYSQL_OK is 0

MYSQL_OK=1

function check_mysql_helth (){

$MYSQL -h $MYSQL_HOST -u $MYSQL_USER -e "show status;" >/dev/null 2>&1

if [ $? = 0 ] ;then

MYSQL_OK=1

else

MYSQL_OK=0

fi

return $MYSQL_OK

}

while [ $CHECK_TIME -ne 0 ]

do

let "CHECK_TIME -= 1"

check_mysql_helth

if [ $MYSQL_OK = 1 ] ; then

CHECK_TIME=0

exit 0

fi

if [ $MYSQL_OK -eq 0 ] &&  [ $CHECK_TIME -eq 0 ]

then

/etc/init.d/keepalived stop

exit 1

fi

sleep 1

done

加上权限: 代码示例:

chmod 755  /root/keepalived_check_mysql.sh

192.168.45.239 keepalived配置 代码示例:

# vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id yuangang.com

}

vrrp_script check_run {

script "/root/keepalived_check_mysql.sh"

interval 5

}

vrrp_sync_group VG1 {

group {

VI_1

}

}

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id 88

priority 80

advert_int 1

authenti

cation {

auth_type PASS

auth_pass yuangang.com

}

track_script {

check_run

}

virtual_ipaddress {

192.168.45.244

}

}

1.启动 238上的keepalived mysql 代码示例:

/etc/init.d/keepalived s

tart

/etc/

init.d/mysqld start

2.启动239上的keepalived mysql 代码示例:

/etc/init.d/keepalived start

/etc/init.d/mysqld start

测试:

关闭238上的mysql,在另外一台机器上用vip连接mysql。

关闭239上的mysql,在另外一台机器上用vip连接mysql。

c mysql 双主复制_mysql双主复制及使用keepalived作高可用的配置详解相关推荐

  1. mysql服务器无法停止_MySQL服务在Windows下无法停止和删除的解决办法详解

    我在 Windows 操作系统上,使用解压压缩包的方式安装 MySQL.遇到一点问题,下面通过本文给大家分享Windows下MySQL服务无法停止和删除的解决办法,需要的朋友可以参考下 我在 Wind ...

  2. Mysql高可用架构实现详解

    1.Linux下mysql安装 2.Mysql架构概述 3.Mysql复制 4.读写分离实现(SpringBoot+MyBatis) 5.Mysql+Keepalived实现双主高可用 6.MYSQL ...

  3. mysql master-user_【MySQL】MySQL5.6数据库基于binlog主从(Master/Slave)同步安装与配置详解...

    主从数据库同步原理 image.png 主从数据库同步工作原理(流程): 当主库的数据发生修改时,数据更改的记录将写入到主库的二进制文件中,从库此时将会调用一个IO线程读取主库的二进制文件,并与中继日 ...

  4. mysql 双从性能_MySQL双主一致性架构优化

    转自:MySQL双主一致性架构优化 - osc_avwazwuz的个人空间 - OSCHINA​my.oschina.net 一.双主保证高可用 MySQL数据库集群常使用一主多从,主从同步,读写分离 ...

  5. mysql双主数据一致性_MySQL双主一致性架构优化 | 架构师之路-阿里云开发者社区...

    一.双主保证高可用 MySQL数据库集群常使用一主多从,主从同步,读写分离的方式来扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点. 在一个MySQL数据库集群中可以设置两个主库,并设置双向 ...

  6. mysql主主keepalived_MySQL主主+Keepalived实现高可用

    在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主主方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动.因此,如果是双主或者多主,就会增加mysql入 ...

  7. mysql二进制文件复制_MySQL 主从复制:基于二进制文件复制配置详解

    ##MySQL-主从复制:基于二进制文件复制详解 ###前言 主从复制是指把一个MySQL的数据库服务器作为主服务器(master),然后把master的数据复制到一个或者多个MySQL数据库服务器作 ...

  8. 【Hibernate】hibernate主键生成策略与配置详解

    //####################################################### **Hibernate各种主键生成策略与配置详解** //############# ...

  9. mysql安装的官方教程_MySQL官方教程及各平台的安装教程和配置详解入口

    官方文档入口: https://dev.mysql.com/doc/ 一般选择MySQL服务器版本入口: https://dev.mysql.com/doc/refman/en/ 在右侧有版本选择: ...

最新文章

  1. HttpURLConnection 请求
  2. 如何将Swift数组转换为字符串?
  3. Linux平台安装MongoDB(亲测)
  4. 【机器视觉】 dev_map_var算子
  5. php获得昨天零时的时间戳,php 获取时间今天明天昨天时间戳
  6. 期刊 | 人类遗传学领域期刊速览
  7. 欧盟批准ATT收购时代华纳 或年底前完成交易
  8. 你想让自己的产品像病毒一样疯传吗
  9. 编写一个关于浏览器盒子模型的方法
  10. PHOTOSHOP教程
  11. bilibili弹幕下载方法
  12. 计算机毕业设计之java+ssm的图书管理系统的设计与实现论文
  13. 拼音输入法技巧-智能ABC
  14. 自助取号机应用-排队叫号机优势介绍
  15. su   sudo 命令
  16. iOS NSFileManager文件管理(沙盒)
  17. 怎样设置excel中自动调整行高、列宽?
  18. CAD制图软件中如何设置选择对象的显示效果?
  19. SocialFi 何以成就 Web3 去中心化社交未来
  20. 人人网发布啵啵: 带语音滤镜的语音社交产品

热门文章

  1. 电脑上mysql数据库无法登录_无法远程登入MySQL数据库的几种解决办法MySQL综合 -电脑资料...
  2. java 容器都有哪些?_适合存储普洱茶的容器都有哪些?
  3. Oracle数据库及在DOS命令下面的简单操作
  4. 老板思维:工作负责人是首问责任制
  5. 怎么计算一组数据的波动_税控盘数据和小规模增值税申报表计算结果不一致怎么办...
  6. c语言 个位,如何才能给C语言增加几个位操作函数
  7. [转载] Java中对象数组的使用
  8. 如何使用Tornado实现WebSocket服务器?
  9. php脚本开头注释_PHP文件注释标记及规范小结
  10. html文段源码,HTML 段落