本篇博文主要包含:
- 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语句:
- 遇到的问题
由于本次主从服务器是克隆同一个服务器的,在执行检查从服务器复制功能状态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