环境

192.168.126.129     node29        master  主

192.168.126.130     node30        slave-1  从1

192.168.126.131     node31        slave-2  从2

以下1-4步骤在三台服务器上面都需要操作

1.上传MariaDB包

2.解压rpm包

tar -zxvf mariadb-10.0.30_centos-6_rpm.tar.gz

3.安装

yum localinstall -y *.rpm

4.关闭防火墙,selinux

/etc/init.d/iptables stop

chkconfig iptables on

setenforce 0

sed -i 's/^SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config

5.配置主(master)

vim /etc/my.cnf  ##添加如下参数

[mysqld]

server-id=1

log-bin=mysql-bin   

service mysql start  ##启动mysql

mysqladmin -u root password '123456'  ##设置root密码

mysql -u root -p123456   ##登录mysql

创建授权用户

grant replication slave on *.* to 'repl'@'192.168.126.130' identified by '123456';

grant replication slave on *.* to 'repl'@'192.168.126.131' identified by '123456';

flush privileges;

flush tables with read lock;   ##表的read锁住,防止下面一步操作,这样保持数据不变(不做这一步,file 和position 下面两行数字会变)

show master status;记住这两列的内容,从操作会用到 

6.配置从(slave-1)

vim /etc/my.cnf ##添加如下参数

[mysqld]

server-id=2    ##这个数值不能和主一样

log-bin=mysql-bin   

service mysql start  ##启动mysql

mysqladmin -u root password '123456'  ##设置root密码

mysql -u root -p123456   ##登录mysql

stop slave;     ##(ok表示成功,这个命令是启动/停止两个线程 IO和sql)

change master to master_host='192.168.126.129', master_port=3306, master_user='repl', master_password='123456', master_log_file='mysql-bin.000002', master_log_pos=1306;

start slave; 

show slave status\G; 查看 Slave IO和Slave SQL都显示yes主从配置成功

7.配置从(slave-2)步骤相同,server-id=3(不能与之前的主1和从2相同)

8.主上   unlock tables;  ok成功       之前锁过表,现将表解锁

9.此时一主多从已经配置完成

测试主从

1-建库  主创建www库     create database www;

             从查看www库    show database;

2-建表   主www库中建表   create tables qqq;

              从www库中查看表   use www; show tables;

3-主查看外面状态   show master status;  (跟原来记录的值发生改变)

    从查看外面状态   show slave status/G;       对比主的数据