**
mysql搭建主从复制
**
###########准备两台服务器一主一从#############
主master:centos7.6 mysql5.7 IP:192.168.249.10
从slave:centos7 .6 mysql5.7 IP:192.168.249.11
1.修改mysql的配置文件
[root@localhost mysql]# vim /etc/my.cnf
2.分别在配置文件中加入如下配置
mysql(master):
server-id=1
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
msyql(slave):
server-id=2
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
注意:两个机器的server-id不能一致
3.重启mysql服务
systemctl restart mysqld
4.登录mysql执行如下命令检测配置是否生效
SHOW VARIABLES like 'server_id';
出现ID说明修改成功!
5.登录master节点执行如下命令
show master status;
注意:出现这个要记着。等下要用,告诉从节点从哪开始同步!
6.登录从节点执行如下命令:
change master to
master_host='192.158.249.10',//要同步的主服务器
master_user='root',//主服务器的账号
master_password='Root@123',//密码
master_log_file='mysql-bin.000001',//同步二进制日志文件名
master_log_pos=120;//从哪开始
7.开启从节点
start slave; //开启
stop slave;//关闭
8.查看从节点状态
show slave status\G;
************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.249.10
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 120
Relay_Log_File: mysqld-relay-bin.000002
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
注意:
1.出现 Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 说名成功,
2.如果在搭建过程出现错误,可以查看查看错误日志文件 cat /var/log/mysqld.log
9.通过客户端工具进行测试
比如说直接用终端登录MySQL也可以实验,或者是用一些客户端工具!
mysql的读写分离
首先要安装Mycat中间件
1.下载mycat
http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
2.解压mycat
tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
3.配置mycat中conf下的配置schema.xml
<!-- 定义MyCat的逻辑库 -->
<schema name="test_schema" checkSQLschema="false" sqlMaxLimit="100" dataNode="testNode"></schema>
<!-- 定义MyCat的数据节点 -->
<dataNode name="testNode" dataHost="dtHost" database="test" />
<dataHost name="dtHost" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="-1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!--写节点-->
<writeHost host="hostM1" url="192.168.28.128:3306" user="root"
password="root">
<!--从节点-->
<readHost host="hostS1" url="192.168.28.129:3306" user="root" password="root" />
</writeHost>
</dataHost>
4.配置登陆mycat的权限server.xml
<system>
<!-- 这里配置的都是一些系统属性,可以自己查看mycat文-->
<property name="defaultSqlParser">druidparser</property>
<property name="charset">utf8mb4</property>
</system>
<user name="root">
<property name="password">root</property>
<property name="schemas">test_schema</property>
</user>
5.启动mycat8
./mycat console
6.查看日志
tail -f ../logs/mycat.log
7.数据库连接配置,测试
使用项目连接Mycat配置的虚拟库,项目中连接的数据库绑定虚拟库,用户名和密码绑定Mycat的用户名和密码,执行增删改的操作是否修改的是master ,执行查询的操作是否为slave,测试环节可以修改slave以便看出来搭建是否成功!