实验环境:
两台MariaDB服务器,IP分别为: 172.16.2.16 和 172.16.2.17
MariaDB的版本是5.5.36,使用二进制方式安装。已安装完成。
/mydata/data 数据库文件存放目录
/mydata/binlog/ 二进制日志文件存放位置
/mydata/relaylog/ 中继日志存放位置
实验目地:
把两台服务器搭建为两主模型工作。
实验操作过程:
172.16.2.16的配置过程
/etc/my.cnf配置文件[mysqld]段如下[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
auto-increment-increment = 2 设置自动增长的每次增进值,此服务器的增长值为奇数
auto-increment-offset = 1 设置自动增长值的初始值
log-bin=/mydata/binlog/mysql-bin 修改二进制日志文件存放位置
relay-log=/mydata/relaylog/relay-log 中继日志存入位置
binlog_format=mixed
server-id= 1 这里使用默认的server-id
datadir=/mydata/data 设定数据库存放的目录
sync_binlog = 1 设定二进制日志工作特性为实时把日志写入二进制日志文件
为对方节点授权MariaDB [(none)]> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO [email protected]‘172.16.2.17‘ IDENTIFIED BY ‘slavepass‘;
MariaDB [(none)]> FLUSH PRIVILEGES;
172.16.2.17节点配置信息
/etc/my.cnf配置文件[mysqld]段如下[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
thread_concurrency = 8
log-bin=/mydata/binlog/mysql-bin
relay-log=/mydata/relaylog/relay-log
binlog_format=mixed
server-id= 2 这里server-id为2
datadir=/mydata/data
auto-increment-increment = 2
auto-increment-offset = 2
为对方节点授权MariaDB [(none)]> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO [email protected]‘172.16.2.16‘ IDENTIFIED BY ‘slavepass‘;
MariaDB [(none)]> FLUSH PRIVILEGES;
在双方节点分别连接对方节点,在连接对方前,需要知道对方当前使用的二进制日志文件及文件中事务的位置
在节点一查看当前二进制日志信息,得到使用的日志文件为 mysql-bin.000012 ,最新的事件ID是 676MariaDB [(none)]> SHOW MASTER STATUS; [object Object]
在第二个节点连接第一个节点MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST=‘172.16.2.16‘, MASTER_USER=‘slaveuser‘,MASTER_PASSWORD=‘slavepass‘,MASTER_LOG_FILE=‘mysql-bin.000012‘, MASTER_LOG_POS=676;
MariaDB [(none)]> START SLAVE;
在节点一查看当前二进制日志信息,得到使用的日志文件为 mysql-bin.000006 ,最新的事件ID是 245MariaDB [(none)]> SHOW MASTER STATUS;
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST=‘172.16.2.17‘, MASTER_USER=‘slaveuser‘,MASTER_PASSWORD=‘slavepass‘,MASTER_LOG_FILE=‘mysql-bin.000006‘, MASTER_LOG_POS=245;
MariaDB [(none)]> START SLAVE;
配置完成后测试:
1,在第一个节点上创建数据库,然后到第二个节点查看,如果有说明复制成功。
2,在第二个节点上为第一个节点创建的数据库创建表,在第一个节点查看,如果有说明双向复制没有问题。
原文:http://wukui.blog.51cto.com/1080241/1554971