java架构学习——22. MySQL读写分离&Mybatis基础知识

本文介绍了MySQL主从复制的原理及配置步骤,包括读写分离的优势和MyCat中间件的使用。同时,详细讲解了Mybatis的基础知识和环境搭建,包括逆向工程的使用,以及#与$的区别。
摘要由CSDN通过智能技术生成

本篇博文主要包含:

  • MySql主从复制
    -主从复制原理
  • MySql主从复制的配置
  • MySql读写分离
    -Mycat安装即配置(windows中)
  • Mybatis环境搭建
  • Mybatis逆向工程的使用
  • Mybatis中#与$区别

一、MySql主从复制
mysql主具有读写的权限,而mysql从只具有的权限。主从服务器通过长链接传输二进制SQL执行文件实时数据同步,如果同步不一致,清除从服务器的所有数据,重新同步。

主从复制原理:
依赖于二进制日志,binary-log.
二进制日志中记录引起数据库发生改变的语句
Insert 、delete、update、create table

1. mysql主从复制的作用:读写分离、数据备份、高可用(解决方案)、集群。

2. MySql主从复制的配置
2.1 主(master)配置如下:
root用户执行以下命令:
1)修改/etc/my.cnf中的内容:vim /etc/my.cnf

添加如下内容:

server_id=1  ###服务器id
log-bin=mysql-bin   ###开启日志文件

2)重启mysql:service mysqld restart

3)检验主是否配置成功:
执行如下sql语句(此处是用Navicat远程连接的):
查询服务器server_id

SHOW VARIABLES LIKE 'server_id'

在这里插入图片描述
查询出来的值与设定的值相同,即配置成功。

4)登录主服务器的mysql,查询master的状态:show master status;
在这里插入图片描述

5)主服务器给从服务器账号授权:
GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by '123456';

6)主服务器下执行的sql语句:
在这里插入图片描述

2.2 配置从(slave)服务器的mysql。
root用户执行以下命令:
1)修改/etc/my.cnf中的内容:vim /etc/my.cnf
添加如下内容:

server_id=2    ###服务器id
log-bin=mysql-bin    ###开启日志文件
binlog_do_db=test    ###主从复制的数据库

2)重启mysql:service mysqld restart

3)检验主是否配置成功同上。

4)配置主从同步信息,并启动

-- 关闭主从同步
stop slave

-- 配置主从同步信息
change master to master_host='192.168.163.132',master_user='mysync',master_password='123456',
         master_log_file='mysql-bin.000003',master_log_pos=409;
				 
 -- 开启主从同步
 start slave

master_host:主服务器的ip地址
master_user:为2.1下的5)步骤设置的用户名
master_password:为2.1下的5)步骤设置的用户密码
master_log_file:为2.1下的4)步骤查询出来的File值
master_log_pos:为2.1下的4)步骤查询出来的Position值

5)检查从服务器复制功能状态SHOW SLAVE STATUS
在这里插入图片描述
当下面的值为YES,则配置成功。
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES

6)从服务器上执行的sql语句:
在这里插入图片描述

  1. 遇到的问题
    由于本次主从服务器是克隆同一个服务器的,在执行检查从服务器复制功能状态sql语句时,Last_Errer列报:Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.错误。
    使用 show variables like '%server_u
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值