首页 > 编程知识 正文

mysql主从分离和负载均衡,mysql 集群架构及原理

时间:2023-05-05 23:22:47 阅读:20529 作者:3039

前期准备

准备两台Linux。 一个为主,另一个为主,具体Linux安装MySQL操作步骤:积分直达

集群构建

注意事项

一主能做很多事

只能从一到一

Linux之间可以ping!

关闭主从设备的防火墙策略

chkconfig iptables off

服务启用停止

配置主服务器

修改my.cnf文件

vim /etc/my.cnf

[mysqld]

#启用二进制日志

log-bin=mysql-bin

#取服务器固有的ID,通常是IP地址的最后一段

服务器id=200

重新启动mysql服务

service mysqld restart

主机授予从机备份权限的slave (登录MySQL ) ) ) ) ) )。

GRANT REPLICATION SLAVE ON *.* TO '从属MySQL用户名' @ '从属ip' identified by '从属MySQL密码';

通常不使用超级用户帐户。 “%”表示所有客户端都可以连接,只要有帐户,密码就正确。 这里可以用具体的客户端IP代替,加强安全性

更新访问权限

flush权限;

查询主状态

显示主状态;

从服务器配置

修改my.cnf文件

vim /etc/my.cnf

[mysqld]

#取服务器固有的ID,通常是IP地址的最后一段

服务器id=201

登录MySQL以配置从属服务器

changemastertomaster _ host=' 192.168.31.200 ',master_user='root ',master_password='root ',master,

请注意不要在句子的中途断开。 master_port是mysql服务器的端口号。 无单引号。 master_user是执行同步操作的数据库帐户。 其中594是:show master status中显示的位置值,mysql-bin.000002

重新启动从服务器复制功能

开始平板;

检查来自服务器的功能分配的状态

show slave status G

注意: Slave_IO_Running: Yes和Slave_SQL_Running: Yes都必须为yes才能表示成功。

收拾一下!

主从式副本演示

主要: 192.168.31.200; 192.168.31.201至

注意事项

如果在linux上一个mysql配置,或者克隆了第二个,则要删除auto.cnf,两个mysql的uuid不能相同。 否则主从复制问题

从服务器设置只读模式

常见现象

构建主从服务器后,您会发现可以将主服务器上的数据同步到从服务器的问题,但从服务器添加数据时,它不会与主服务器同步。 这样做的话,就有可能产生垃圾数据。 在这种情况下,必须将从库设置为只读模式。

解决方法

演示如下。

MySQL set全局读取_ only=1;

查询确定,0Rowsaffected(0.00sec ) )。

#set global read_only=0是取消常规帐户的只读模式

允许常规MySQL测试帐户

MySQL授权选择,插入,更新,delete ons 18.* to ' test ' @ ' 127.0.0.1 ' ident ifi

ed by '123456 ';

查询确定,0 rows affected,1warning(0.00sec ) )。

使用测试帐户登录并执行删除等操作时,将显示--read-only错误

mysqldeletefromstudentwheresid=14;

error1290(hy000 ) : themysqlserverisrunningwiththe--只读选项soi

t cannot execute this statement

MySQLinsertclassvalues(5、3年级10班;

error1290(hy000 ) : themysqlserverisrunningwiththe--只读选项soi

t cannot execute this statement

注意:set global read_only=1对具有super权限的帐户无效,因此在允许帐户时请避免添加super权限

那么,在迁移数据时,我们不想修改任何数据,包括更改super权限。

可以锁定时钟:

mysql flush tables with read lock;

查询确定,0Rowsaffected(0.18sec ) )。

使用根帐户进行测试:

mysqldeletefromstudentwheresid=13;

错误1223 (hy 000 ) : can ' texecutethequerybecauseyouhaveaconflictingread

摇滚音乐

解锁测试:

MySQL未锁定表;

查询确定,0Rowsaffected(0.00sec ) )。

mysqldeletefromstudentwheresid=13;

查询确定,0Rowsaffected(0.00sec ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。