mysql集群-主库从库配置--主从库分离

mysql集群

为什么要做主从库分离?

怎么进行分离?

设置2个数据库,为主库从库,主库存储,从库查询

怎么设置?

在你原本的配置yml文件中主库的ip是多少,从库是多少,都要和数据库的ip 一致

先编辑文件

#cp /usr/share/mysql/my-default.cnf /etc/my.cnf,就是说将my-default.cnf这个文件移动到/etc/my.cnf下面,要在根目录底下执行

#vim /etc/my.cnf--编写这个文件

进入后可以看到my.cnf文件内容,不好辨认,所以增加:set nu(增加行号)

把光标放在第4行,然后对文件进行修改-插入( :+ i)esc就能退出编辑模式

这里每个服务器都要设置唯一的id

主从同步是通过二进制的日志文件来进行,故须开启MySQL的日志功能记录增删改,每次服务启动就会产生新的日志文件

存储所有master-bin.0000xx文件名

配置端口号,这个端口号就是自定义的,一般不要改端口号

#需要同步的数据库名,若同步多个数据库数据用逗号分隔继续追加;若没有本行则表示同步所有的数据库数据,第9行可标注

#不同步的数据库名,多个用逗号分割;ignore=忽略

如果你时间超过1s就是慢查询

第一个就是打开慢查询,第二个就是设置阀值

以上几句诗设置文件的内容,退出编辑模式并保存;esc :wq,或者:wq!


启动服务让配置生效

systemctl start mysqld 重启 or systemctl restart mysqld 启动

未启动就用启动mysql,如果未启动过就用重启


创建主从同步的帐户

#mysql -uroot -p123456@Yc(密码按照自己设置的)

mysql> GRANT REPLICATION SLAVE ON *.* to rep@'%' IDENTIFIED BY '123456@Yc';

mysql> flush privileges;

mysql> select host,user from mysql.user;当看到user是有rep代表设置成功

配置从库

也是一样,需要一个配置文件,然后在项目里启动文件

配置时需要更改【服务器id】并取消log配置,因为是从库,不需要给别人同步数据,所以取消log配置

A.从库my.conf配置同master服务器配置一样,但server-id=2,取消#binlog-ignore-db配置,保存退出

B.重启mysql让其配置生效:

systemctl start mysqld or systemctl restart mysqld

如何知道是否已经启动mysql

执行losf -i :3306,看到有mysql就执行重启,未看到就执行启动


然后在主库,输入showstatus查看主库状态

然后在从库,登录从库后执行

绑定失败

停掉slave即可

再执行一边,看到ok即可

检查

需要看到这2个yes

相关推荐
TDengine (老段)27 分钟前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
萧曵 丶1 小时前
事务ACID特性详解
数据库·事务·acid
kejiayuan1 小时前
CTE更易懂的SQL风格
数据库·sql
kaico20182 小时前
MySQL的索引
数据库·mysql
清水白石0082 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
资生算法程序员_畅想家_剑魔2 小时前
Mysql常见报错解决分享-01-Invalid escape character in string.
数据库·mysql
PyHaVolask3 小时前
SQL注入漏洞原理
数据库·sql
ptc学习者3 小时前
黑格尔时代后崩解的辩证法
数据库
代码游侠3 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
!chen3 小时前
EF Core自定义映射PostgreSQL原生函数
数据库·postgresql