你的位置:首页 > 数据库

[数据库]MySQL双主配置


MySQL双主配置

准备环境:服务器操作系统为RHEL6.4 x86_64,为最小化安装。主机A和主机B均关闭防火墙和SELINUX ,IP地址分别为192.168.131.129和192.168.131.130,MySQL版本为5.6.26,为通用二进制包。

  1. 安装MySQL

1.主机A操作

# tar xf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz

# mv mysql-5.6.26-linux-glibc2.5-x86_64 /usr/local/mysql

# useradd -M -s /sbin/nologin mysql

# chown -R root:root /usr/local/mysql/*

# chown -R mysql:mysql /usr/local/mysql/data/

# yum -y install libaio

# cd /usr/local/mysql/scripts/

# ./mysql_install_db --datadir=/usr/local/mysql/data/ --user=mysql --basedir=/usr/local/mysql/

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# echo 'export PATH=$PATH:/usr/local/mysql/bin' >>/etc/profile

# source /etc/profile

# vim /etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

user=mysql

symbolic-links=0

[mysqld_safe]

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

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

# service mysqld start

#chkconfig mysqld on

# ss -tunlp | grep 3306

# mysqladmin -uroot password '123456' #设置数据库密码

2.主机B操作(同上)

二、配置双主

1、主机A操作

# vim /etc/my.cnf

server-id=20

log-bin=mysql-bin

log-bin-index=mysql-bin.index

replicate-ignore-db=test

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

auto-increment-increment=2

auto-increment-offset=1

# service mysqld restart

# mysql -uroot -p123456

mysql> flush tables with read lock;

再打开一个远程终端窗口,执行以下操作

# mysqldump -uroot -p123456 -B test > test.sql

返回之前的终端窗口,做以下操作

mysql> unlock tables;

mysql> grant replication slave on *.* to 'wdd'@'192.168.131.130' identified by '123456';

mysql> flush privileges;

# scp test.sql 192.168.131.130:/root

2、主机B操作

# vim /etc/my.cnf

server-id = 21

log-bin=mysql-bin

log-bin-index= mysql-bin.index

replicate-do-db=test

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

auto-increment-increment=2

auto-increment-offset=2

#service mysqld restart

# mysql -uroot -p123456 < test.sql

# mysql -uroot -p123456

mysql> grant replication slave on *.* to 'wdd'@'192.168.131.129' identified by '123456';

mysql> flush privileges;

3.主机A和主机B分别作如下操作

主机A

①# mysql -uroot -p123456

mysql> SHOW MASTER STATUS;

mysql> change master to

master_host='192.168.131.130',

master_user='wdd',

master_password='123456',

master_log_file=' mysql-bin.000002',

master_log_pos=420;

mysql> start slave;

mysql> show slave status\G;

②# mysql -uroot -p123456

mysql> show master status;

mysql> change master to

master_host='192.168.131.129',

master_user='wdd',

master_password='123456',

master_log_file='mysql-bin.000002',

master_log_pos=689;

mysql> start slave;

mysql> show slave status\G;

三、测试

1、主机A进行一下操作

mysql> use test;

mysql> create table info(

-> id int(10) not null auto_increment primary key,

-> name char(20));

mysql> show tables;

2、主机B进行操作

mysql> use test;

mysql> show tables;

mysql> create table person (

-> id int(20) unsigned not null auto_increment primary key,

-> name char(20));

mysql> show tables;

3.在主机A进行操作检验