2021-08-12

**

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以便看出来搭建是否成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值