3台服务器的多主架构,3台服务器都可以写入并且做到3台服务器的数据一致性(任意一台服务器做写入操作都可以,并且每台服务器的数据做到完全一致),并且防止主键冲突.目前只有3台MySQL服务器,不使用生成唯一id的程序。
在3台主服务器上创建mysql用户创建用户(使用root也可以,但是不建议) , 该用户必须有 REPLICATION SLAVE 权限
创建用户:CREATE USER ‘cong’@‘192.168.43.%’ IDENTIFIED WITH mysql_native_password by ‘123456’;
赋权:GRANT REPLICATION SLAVE ON . TO ‘cong’@‘192.168.43.%’;
刷新权限:flush privileges;
在从服务器上测试使用主服务器刚刚创建的账号是否能够正常连接 例如
/usr/local/mysql/bin/mysql -ucong -p123456 -h192.168.43.210
停止主、从服务器的mysql服务
例如 /etc/init.d/mysql stop
主服务器必须打开开二进制日志 例如 vi /etc/my.cnf (根据实际路径)
主要是修改配置文件 , 一般在 linux 下安装的 mysql 配置文件是 my.cnf, 在
windwos 下是 my.ini,
修改主服务器配置文件vi /etc/my.cnf:
1.MySQL的生成二进制日志时会记录server-id值,因此在通过二进制日志同步时不会产生无限循环同步的问题。
2.防止主键冲突可以通过调整MySQL自增主键的步长和初始值来解决.例如配置文件可做如下更改。
auto_increment_increment= 3或者其他值 如果设置为2自增时每次+3
auto_increment_offset= 2或者其他值 偏移量 也就是默认从哪个值开始自增