windows实现mysql读写分离[通俗易懂]

一、主服务器(master)配置1、修改MySQL配置文件my.ini[mysqld]log-bin=mysql-bin#开启主从复制,主库的配置log-bin-index=mysql-bin.indexserver-id=1#指定主库serverid,主库的id要比从库的id小sync_binlog=1binlog_format=mixed

大家好,又见面了,我是你们的朋友全栈君。一、主服务器(master)配置

1、修改MySQL配置文件my.ini

[mysqld]

log-bin=mysql-bin #开启主从复制,主库的配置

log-bin-index=mysql-bin.index

server-id=1 #指定主库serverid,主库的id要比从库的id小

sync_binlog=1

binlog_format=mixed

binlog-do-db=test #指定同步的数据库,如果不指定则同步全部数据库

binlog-ignore-db=mysql #指定不同步的数据库

binlog-ignore-db=performance_schema

binlog-ignore-db=information_schema

配置完成后重启MySQL服务。

2、授权给从服务器(slave)同步数据的账号密码

GRANT REPLICATION SLAVE ON *.*TO ‘zhanghao’@’192.168.174.131’ IDENTIFIED BY ‘123456’;

参数说明:


注意:授权给slave的账号不能是root,root只可以本地登录,因此,我此处给出的是zhanghao;另外防火墙需要关闭,或者对外开放3306端口,否则后期会失败

zhanghao:slave连接master使用的账号

IDENTIFIED BY ‘123456’ :slave连接master使用的密码

192.168.174.130:slave IP

执行命令:show master status\G    

这个命令不需要分号

注意结果中的File和Position,配置从服务器(slave)时会用到。

 

二、从服务器(slave)配置


注意:当program Files文件夹中的mysql文件夹里找不到my.ini,只能找到my_default.ini时,可以去c盘的programData中找mysql,在它下面可以找到my.ini

1、修改MySQL配置文件my.ini

[mysqld]

server-id=2

log-bin=mysql-bin

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

sync_master_info=1

sync_relay_log=1

sync_relay_log_info=1

2、设置连接主服务器(master)的信息

先执行关闭命令  :  stop slave;

然后执行

change master to master_host=’192.168.174.130′,master_user=’zhanghao’,master_port=3306,master_password=’123456′,master_log_file=’mysql-bin.000008′,master_log_pos=170;

参数说明:

master_host:master IP

master_user:master数据库通过GRANT授权的账号

master_port:master数据库使用的端口号

master_password:master数据库通过GRANT授权的密码

master_log_file:master数据库中通过show master status/G显示的File名称

master_log_pos:master数据库中通过show master status/G显示的Position数据,注意不带引号

重启MySql服务。

执行命令:start slave;

执行命令:show slave status\G

当Slave_IO_Running与Slave_SQL_Running都为Yes时才算配置成功。

此时,master服务器上test数据库里的数据就能同步到slave服务器上的test数据库中。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126694.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月17日 下午2:40
下一篇 2022年4月17日 下午3:00


相关推荐

  • oracle报错未明确定义列_查询块具有不正确的结果列数

    oracle报错未明确定义列_查询块具有不正确的结果列数运行环境:Oracle10gsqlplus环境下。 在查询语句中,经常会出现一个错误: SQL基础:ORA-00918:未明确定义列的错误。 当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字段名,查询字段无法确认是改查那个字段 时,就会报未明确定义列的错误。 第一种情况: 1.单表时: 比如fconsign表中存在三个字段:fcsg_c

    2022年10月4日
    6
  • 本地部署中文OpenClaw 教程

    本地部署中文OpenClaw 教程

    2026年3月13日
    2
  • 偷了世界的程序员

    偷了世界的程序员

    2021年8月9日
    56
  • C#面试题

    C#面试题值类型与引用类型1.值类型和引用类型的区别?值类型包括简单类型、结构体类型和枚举类型,引用类型包括自定义类、数组、接口、委托等。1、赋值方式:将一个值类型变量赋给另一个值类型变量时,将复制包含的值

    2022年6月30日
    27
  • location.hash详解[通俗易懂]

    location.hash详解[通俗易懂]了解vue-router原理中更新URL但不重载页面原理之一location.hash1.存在形式及意义一般情况下为URL后"#"及其后面一部分组成,如http://www.test.com/#/something,其中http://www.test.com为真实的路径,而#/something则为网页中的位置,称之为锚点在访问锚点时会自动跳刀锚点所在的网页位置,通常有两种方式作为锚点<…

    2022年7月13日
    19
  • Java变量命名规范

    Java变量命名规范一 变量名命名的一些规定 1 必须以字母 下划线 或者美元符开头 以美元符开头命名的变量虽然能够编译通过但是不建议使用 中文也可以作为命名开头且编译也能通过 但是不建议使用 2 除开头外后面的部分可以有字母 下划线 美元符 以及数字组成 3 虽然变量名不限制长度 但能表达清楚命名的含义即可 4 变量名不可以和 java 的关键字冲突 下面列出具体的关键字 用于定义访问权限修饰符的关键字 private protected public 用于定义类 函数 变量修饰符的关键字 abstra

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号