从单机到集群MySQL

1.从单机到集群

从单机到集群MySQL

一方面 提升我们的容量,另一方面降低单个MySql数据库的读写压力,第三个提升我们整个数据库的可用性

从单机到集群MySQL

从单机到集群MySQL

mysql主库master 其他的可以看作是从节点slave,增删改都会落到binlog文件中,slave连接到master上订阅,拉去binlog数据,通过I/O线程转换成本地的relay log

从单机到集群MySQL

mysqlbinlog -vv 这条命令可以查看binlog里的文件里面的内容到底是什么。

2, mySQL主从复制

从单机到集群MySQL

从单机到集群MySQL

从单机到集群MySQL

在我们现代意义下的分布式系统所有的节点都是对等的

每个节点都可以是主节点

可以配置成单主的模式也可以配置成多主的模式

certify是验证阶段,在这个验证的阶段去协调去看多个节点,去协调,让先相当于拿到操作拿到锁,拿到冲突之前的资源的这样的一个节点去处理,其他节点都不行,大家就回退回去,通过中间这个验证过程来避免并发的冲突,这样的话就可以对于所有的着这种写入操作。不管发生在哪个主上哪个节点上,都可以在中间验证这个阶段,就可以保证了大家是可以达成一致的,然后执行自己的提交或者在这个过程中,比如说这个事务发生在我们的第一个节点上

初始化和启动数据库

1,复制my.ini到指定文件夹

  1. 创建data文件夹

3.空数据库需要执行mysqld --defaults-file-my.ini initialize-insecure进行初始化

mysqld它是MySQL Server 进程的或者程序运行的名字

--defaults-file 就可以指定Mysql数据库服务器使用这个配置文件来启动或者初始化

initialize-insecure 可以非安全的表示root账号密码可以为空

从单机到集群MySQL

创建用户授权和刷新权限

mysql> show master status;
+----------------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------------------+----------+--------------+------------------+-------------------+
| DESKTOP-0SM733V-bin.000004 | 856 | | | |
+----------------------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)

从单机到集群MySQL

从库连接主库

从单机到集群MySQL

主从失败,需要使用mysql的native的这种password的方式

完成主从配置

https://blog.csdn.net/zhu_lizhen/article/details/75043894?utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-1.control

当我们不想从库执行同样的命令的时候

我们就可以set SQL_LOG_BIN等于0先执行这么一句(相当于暂时关闭binlog)

从单机到集群MySQL

3,mySQL 读写分离

从单机到集群MySQL

从单机到集群MySQL

从单机到集群MySQL

从单机到集群MySQL

4,MySql 高可用*

从单机到集群MySQL

从单机到集群MySQL

5,总结回顾与作业实践

从单机到集群MySQL

上一篇:asp.net中Repeater控件用法笔记


下一篇:Android菜鸟的成长笔记(11)——Android中的事件处理