mysql的集群 有啥子好处 这么傻的问题我就不多说了,直接贴本人搭建成功的经验
准备两台服务器 192.168.79.130 192.168.79.131 (举例而已)
安装mysql教程 :https://blog.csdn.net/qq_41594146/article/details/100121729
1、配置主服务器(192.168.79.130)
编辑 /etc/my.cnf
在mysqld下添加如下代码
server-id=1
log-bin = master-bin
log-bin-index = master-bin.index
binlog-ignore_db=mysql
如下图
创建从服务需要用到的账号和权限
用mysql -u root -p 进入mysql
然后使用执行指令
grant replication slave on *.* to '帐号' @'从机ip地址' identified by '密码';
保存后,重启mysql
service mysqld restart
再次进入mysql查看状态(记得登录进去执行)
show master status;
如图:
配置从服务器(192.168.79.131)
在 /etc/my.conf 添加
server-id=2
relay-log=slave-relay-bin
relay-log-index = slave-relay-bin.index
重启mysql后
service mysqld restart
进入从机的mysql中,连接主机的mysql
change master to master_host='主机ip',master_port=3306,master_user='之前你设置的用户名',master_password='之前你设置的密码',master_log_file='master-bin.000001',master_log_pos=1641;
要注意是哈,后面两个值是在主机中执行的show master status; 指令后显示的数据,不是固定的哈,每个人填的数据不一样
启动slave数据同步
start slave;
查看slave的状态 如果下方红圈的地方为yes 那么就成了
值得注意的地方是 往主机里面加数据才会同步到从机 你往从机里面加数据 主机是不会变的,所以呢,在使用读写分离的时候 主机用于增删改 从机用于查询
docker 的方式主从同步也一样 用 指令 docker exec -it 运行的容器id /bin/bash 进入容器内部后操作和上面一样 不过从机同步用的帐号可以直接用启动主机mysql容器的帐号密码就行了 !!