1.打开my.cnf配置文件
vi /etc/my.cnf
2…my.cnf增加配置信息
log-bin=mysql-bin #打开logbin 并命名为mysql-bin
server-id=3 #集群架构中唯一标识
sync-binlog=1 #每个操作都与磁盘同步一次
binlog-ignore-db=information_schema #忽略不同步的库
binlog-ignore-db=performance_schema #忽略不同步的库
binlog-ignore-db=sys #忽略不同步的库
log_slave_updates=1 #当前主机更新操作 也写到binlog 中
relay_log=mysql-relay-bin #开启relay_log 并命名
#下面这两个属性是双主双写时和其他主库错开。避免主键冲突
#2,4,6,8...
auto_increment_offset=2 #制定自动递增起始值
auto_increment_increment=2 #递增步长
3.重启mysql服务
systemctl restart mysqld
4.登录mysql
mysql -uroot -p
5.授权
grant replication slave on *.* to 'root'@'%' identified by 'root';
grant all privileges on *.* to 'root'@'%' identified by 'root';
6.刷新授权
flush privileges;
7.查看master状态
show master status;
注意下面步骤都需要在每个master主机上执行
8.所有mysql的master都安以上7步配置完后。然后建立master集群通信。
master个数有几个,change 命令就需要执行几次。且属性值要和其他master匹配。
。master_host 其他master的ip,
。master_port 其他master的端口,
。master_user 其他master的用户名,
。master_password 其他master的密码,
。master_log_file其他master状态的file名,
。master_log_pos其他master状态的position
change master to master_host='192.168.1.10',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=884;
9.配置完后这个主库相当于其他主库的从库。需要启动
start slave;
10.查看状态
show slave status \G;
ok 这样mysql的主库集群已经搭建完成。
主从的话,从库只需要任选一台主库作为master。