环境
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; 对比主的数据
转载于:https://blog.51cto.com/zhangxiaoxiong/2128891