前提条件是:需要在linux上安装4个mysql数据库,都需要配置完相应的信息。
需要搭建: mysql 01: 主数据库 master
mysql 02 : 从数据库 slave01
mysql 03 : 从数据库 slave02
mysql 04 : 从数据库 slave03
第一步:
在主服务器上的my.cnf 上编辑
二进制文件格式:log-bin=mysql-bin;
二进制的格式: binlog-format=mixed
第二步:
在从服务器上: 有几台从服务器都需要配置:
二进制的日志: 每台从服务器在 my.cnf 中配置
二进制日志: relay-log=mysql-relay
注释:在每台从数据库上的my.cnf上都需要配置
第三步:
在主服务器上配置server-id 这个每台的server-id是唯一的,不能重复。一般是每台主机的ip地址后面的数量
主: server-id=166
从: server-id=167 ,server-id=168 ,server-id=169,
第四步:
如果出现了连接不上数据库的问题:
可以使用以下命令:
/usr/libexec/mysqlld --skip-grant-tables
分别登录到mysql数据库中。
./mysql -h 192.168.1.166 -uroot -p -P 3306(端口号)
第五步:
进入主数据库界面: 进行授权,建立一个账号,共从数据库去连接使用,
在主数据库界面: mysql> grant replication client,repliaction slave on *.* to
‘xxxx‘@‘192.168.%.%‘ identified by ‘xxxxx‘
分析下这个授权账号: 首先授权应用给从数据库,建立一个账号给从数据库去连接,需要设置用户名,密码,还有ip
授权往后,需要在主数据库上查看主数据库的状态:
mysql> show master status;
第六步:
在从数据库上去连接主数据库的建立的账号:
进入每个从数据库界面:
mysql> change master to
master_host = ‘192.xxxx.xxx.xxx‘,
master_port = ‘3306‘,
master_user = ‘xxxxx‘,
master_password = ‘xxxxxxx‘,
master_log_file = ‘msyql-bin.000001‘,
master_log_pos = 975;
master_log_file 和 master_log_pos 需要根据在主数据库上查看的状态 去改变。
运行上面的命令后,然后执行查看从数据的状态:
mysql> show slave status \G;
可以看到连接的详细信息:
如果不行,可以 mysql> reset slave;
mysql> stop slavw;
然后继续运行刚才的链接信息。
第七步:
检测刚才搭建的集群主从数据库时候可以,在桌面的客户端上去测试,在主数据库上建立一个 测试数据库,在里面插入测试数据库,看下搭建的从数据库是否显示在主数据库上的测试库。如果有,就顺利的搭建完主从数据库的集群。