MySQL数据库运维实战

文章目录

MySQL主从

原理:MySQL主从原理是首先我们的主服务器要开启binlog日志,我们主服务器的数据库的增删改回记录到这里面,从服务器有一个I/O线程,这个I/O线程会定时定期地去看主服务器的binlog日志有没有变化,有变化的话,就把它拿到,然后写入到Relaylog里边,Relaylog叫中继日志,从服务器还有一个SQL线程,会去读取这个中继日志,然后把它写到我们本地的数据库里面。
在这里插入图片描述
应用场景

  • 主从互为备份:当主服务器出现问题,我们可以人工/自动的切换到从服务器让其继续提供服务
  • 读写分离:主从服务器可以通过程序(php,java等)或代理软件(mysql-proxy,amoeba)对用户对数据库的请求实现读写分离。从库一般只处理select查询请求,来降低用户查询的等待时间及缓解主服务器的压力,对于更新的请求则交给主服务器处理,并且要确保数据实时主从同步
  • 根据业务拆分从库:根据业务的不同讲从库拆分为不同的部分,比如从1-3用于帖子浏览,从4用于后台访问,从5用于binlog备份

配置步骤

先说一下大致步骤:

  • 主库首先开启binlog。
  • 在主库中创建用户并授权,用于主从复制
  • 在主库中进行全量备份(把先前主库中有的数据先导入到从库中)
  • 然后在从库中设定主库信息,设定主库的IP地址,端口号,用户名,密码等信息。
  • 然后从库就可以开启主从复制start slave

主库配置
第一步:
在这里插入图片描述
第二步:进入MySQL

GRANT REPLICATION SLAVE ON *.* TO 'plrep'@'%' identified by 'reppass'; 

第三步:备份主库

mysqldump -u root -p  -B class > /tmp/haha_bak.sql

查看主库状态

show master status;

从库配置

第一部:配置主库信息

CHANGE MASTER TO \
MASTER_HOST='10.1.1.164' ,
MASTER_PORT=3306,
MASTER_USER='plrep' ,
MASTER_PASSWORD='reppass' ,
MASTER_LOG_FILE='mysql-bin.000002' ,
MASTER_LOG_POS=348;

第二步:开启主从复制

start slave;

不加/G格式是横着显示的,是看不懂的

show slave status\G;

关闭主从复制

show slave status;

更新ing

原创文章 85 获赞 120 访问量 4万+

猜你喜欢

转载自blog.csdn.net/happygjcd/article/details/105247610