Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强
总时长 104:45:00 共408P
此文章包含第361p-第p363的内容
集群
集群的基础形式
MySQL集群
MMM机制
这里使用了vip虚拟ip方式(如192.168.0.101,192.168.0.102,192.168.0.103)
monitor维护了一个虚拟ip映射表
如果101宕机了 这里的monitor(监控器)会对虚拟ip进行漂移 到102上 我们没有感觉但是后台已经漂移到102了
优点 快
缺点 会产生数据不一致问题
MHA机制(了解即可)
InnoDB Cluster
自动failover(容错)
当前主流解决方案
主从同步
进入mysql文件夹下
使用docker创建master实例
docker ps 查看启动的容器
创建slave实例
修改每个人的配置
修改master配置
配置主从配置信息
- log-bin 二进制日志
- read-only=0 是否只读( 0否1是)
- binlog-do-db=我们要产生二进制日志的库
- replicate-ignore-db 复制时忽略的库 单词: replicate(复制) ignore(忽略)
修改主表的配置文件
从表的配置
1 id不一样 而且只读是1
重启两个mysql
使用sqlyog进行连接
在master里添加授权
grant replication slave on *.* 'backup'@'%' identified by '123456'
GRANT(授权):这个关键字指示 MySQL 服务器将授予特定权限给一个用户。
REPLICATION(复制) SLAVE:表示授予用户作为从服务器进行复制的权限。从服务器需要这些权限来连接主服务器并复制数据。
ON .:表示这个权限适用于任意数据库(.)上的任意表。这允许用户在所有数据库和表之间执行复制操作。
'backup'@'%':指定了被授予权限的用户名('backup')和允许连接的主机地址('%'表示任意主机)。这个用户可以通过任何主机地址连接到 MySQL 服务器进行复制操作。
IDENTIFIED BY '123456':指定了连接用户时所需的密码('123456')。这是为用户设置的登录密码,用于验证用户身份。
综合起来,这条语句的作用是将名为 'backup' 的用户授权为从服务器,允许其在任意数据库的任意表上进行复制操作,密码为 '123456'。这通常是在设置 MySQL 复制环境时需要执行的一步,确保从服务器可以正确连接到主服务器并复制数据。
查看主库的信息
在从数据库运行下方命令 进行同步
start slave; 开始同步
stop slave; 停止同步
查看从库的信息