> 데이터 베이스 > MySQL 튜토리얼 > MySQL高可用架构之MySQL-MMM配置详解

MySQL高可用架构之MySQL-MMM配置详解

WBOY
풀어 주다: 2016-06-07 15:10:22
원래의
1356명이 탐색했습니다.

实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验说明:本实验共有5台主机,IP分配如拓扑 实验软件:mariadb-

实验系统:CentOS 6.6_x86_64

实验前提:防火墙和selinux都关闭

实验说明:本实验共有5台主机,IP分配如拓扑

实验软件:mariadb-10.0.20  mysql-mmm-2.2.1  mysql-mmm-monitor-2.2.1  mysql-mmm-agent-2.2.1

下载地址:

或者:

------------------------------------------分割线------------------------------------------

FTP地址:ftp://ftp1.linuxidc.com

用户名:ftp1.linuxidc.com

密码:

在 2015年LinuxIDC.com\8月\MySQL高可用架构之MySQL-MMM配置详解

下载方法见

------------------------------------------分割线------------------------------------------

实验拓扑:

MySQL高可用架构之MySQL-MMM配置详解

使用MySQL-MMM实现MySQL集群部署 

MySQL MMM架构看不到vip地址 

MySQL的MMM高可用架构测试

MySQL-MMM实现MySQL高可用

MySQL-MMM切换演示

mysql proxy、MySQL-MMM实现读写分离高可用性

将MySQL-MMM Master从REPLICATION_FAIL状态恢复

CentOS下利用MySQL-MMM实现MySQL高可用

一、准备工作

1.根据下表,将各主机名进行修改:

MySQL高可用架构之MySQL-MMM配置详解

2.修改hosts文件,添加如下内容:

vim /etc/hosts
------------------------------------------->
192.168.19.21  mon
192.168.19.66  db1
192.168.19.74  db2
192.168.19.76  db3
192.168.19.79  db4

3.规划虚拟ip,列表如下:

MySQL高可用架构之MySQL-MMM配置详解

二、安装mariadb并配置

1.在db1-4上安装:

tar xf mariadb-10.0.20-linux-x86_64.tar.gz  -C /usr/local/
cd /usr/local/
ln -sv mariadb-10.0.20-linux-x86_64 mysql
useradd -r mysql
mkdir -pv /mydata/data
chown -R mysql.mysql /mydata/data/
cd mysql/
chown -R root.mysql .
scripts/mysql_install_db --user=mysql --datadir=/mydata/data/
cp support-files/my-large.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on

2.编辑配置文件:   db1:

vim /etc/my.cnf
--------------------------------------------->
[mysqld]
server-id = 1
datadir = /mydata/data
log-bin = /mydata/data/mysql1-bin
binlog_format = ROW
relay_log = /mydata/data/relay-log
auto-increment-increment = 2
auto-increment-offset = 1
sync_binlog = 1
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1
max_binlog_size  = 100M
log_slave_updates  = 1
service mysqld start

    db2:

vim /etc/my.cnf
--------------------------------------------->
[mysqld]
server-id = 2
datadir = /mydata/data
log-bin = /mydata/data/mysql2-bin
binlog_format = ROW
relay_log = /mydata/data/relay-log
auto-increment-increment = 2
auto-increment-offset = 2
sync_binlog = 1
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1
max_binlog_size  = 100M
log_slave_updates  = 1
service mysqld start

    db3:

vim /etc/my.cnf
--------------------------------------------->
[mysqld]
server-id = 3
datadir = /mydata/data
log-bin = /mydata/data/mysql3-bin
binlog_format = ROW
relay_log = /mydata/data/relay-log
sync_binlog = 1
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1
max_binlog_size  = 100M
log_slave_updates  = 1
service mysqld start

db4:

vim /etc/my.cnf
--------------------------------------------->
[mysqld]
server-id = 4
datadir = /mydata/data
log-bin = /mydata/data/mysql4-bin
binlog_format = ROW
relay_log = /mydata/data/relay-log
sync_binlog = 1
sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1
max_binlog_size  = 100M
log_slave_updates  = 1
service mysqld start

这里需要创建三个用户,如下表:

/usr/local/mysql/bin/mysql
------------------------------------------------->
GRANT REPLICATION CLIENT ON *.* TO 'mmm_monitor'@'192.168.19.%' IDENTIFIED BY '123456';
GRANT SUPER,REPLICATION CLIENT,PROCESS ON *.* TO 'mmm_agent'@'192.168.19.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.19.%' IDENTIFIED BY '123456'

4.查看二进制日志位置:

FLUSH TABLES WITH READ LOCK;          //施加锁
SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| mysql1-bin.000004 |      936 |              |                  |
+-------------------+----------+--------------+------------------+

5.不要关闭这个mysql进程连接,避免锁失效,我们另起一个ssh连接db1服务器,进行数据库备份:

/usr/local/mysql/bin/mysqldump --all-databases > /tmp/database-backup.sql

6.回到刚才mysql进程,进行解锁:

UNLOCK TABLES;

7.将database-backup.sql文件复制到其他db节点:

scp /tmp/database-backup.sql db2:/tmp/
scp /tmp/database-backup.sql db3:/tmp/
scp /tmp/database-backup.sql db4:/tmp/

8.db2-4主机导入sql文件,并刷新权限:

/usr/local/mysql/bin/mysql /usr/local/mysql/bin/mysql
------------------------------------------------->
FLUSH PRIVILEGES;

三、设置复制

1.在db2-4上操作,将db1设置为db2-4的主:

CHANGE MASTER TO MASTER_HOST='192.168.19.66',MASTER_USER='replication',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql1-bin.000004',MASTER_LOG_POS=936;
START SLAVE;

2.查看状态:

SHOW SLAVE STATUS\G

MySQL高可用架构之MySQL-MMM配置详解

MySQL高可用架构之MySQL-MMM配置详解

MySQL高可用架构之MySQL-MMM配置详解

3.查看db2的master日志位置:

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿