双windos下MySQL主从服务器配置

双windos下MySQL主从服务器配置
前提准备:
首先保证两个计算机的mysql版本相同,MySQL5.6版本与8.0以上版本的指令会有所不同,经过重复尝试,最后选定5.6版本。
主从数据库操作准备:
两台电脑,都安装好mysql 5.6版本,最好两台电脑都安装同一版本数据库,且能单独正常使用
记住两台电脑的ip地址:
以我个人电脑为例: 主数据库:10.5.45.123 从数据库:10.5.44.253

【主数据库下操作】
步骤一:
在主数据库mysql安装目录下找到my.ini文件打开,在mysqld下添加主服务器配置
server-id=1 #服务器 id
log-bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin #二进制文件存放路径
binlog-do-db=cauc_microblog #待同步的数据库

保存并重启mysql服务后你可以在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件
输入用户名和密码:mysql -u用户名 -p密码 (mysql -uroot -p)

步骤二:
(1)在Master MySQL上创建一个用户‘zh’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。

首先在mysql命令控制台上面创建zh用户,具体的sql为:
create user zh;
为这个用户赋予相应的权限,这里我赋值的是最大的权限。也就是该用户可以从任何的ip地址登陆访问数据库,可以操作所有的数据库表。具体的sql为:

        GRANT ALL PRIVILEGES ON *.* TO zh@'%' IDENTIFIED BY '123456'; 
        FLUSH PRIVILEGES;

在这里插入图片描述

这里需要注意的几点是:

1.FLUSH PRIVILEGES;这个命令必须填写,否则上面设置的用户权限失效。

2.ip地址是可以设置范围的。例如:GRANT REPLICATION SLAVE ON . TO zh@’%’ IDENTIFIED BY ‘123456’;(%也可以是具体的ip地址,后期从服务器可以是多个,为了避免重新更改主服务器配置的麻烦,ip是%);

3.操作的数据库也是可以指定的。

4.用户的权限也是可以设置的。具体的命令大家可以自己去学习,我这里就不多说了。
如果不设置用户权限的话,本地可以连接的上mysql服务器,局域网或者外网是连接不上,会显示连接被拒绝或者用户没有这个权限。除此之外权限还可以精确到某个数据库,连接者的IP地址区间,设置是某个数据的操作问题等等都可以进行设置。我这边设置的是zh这个用户具备所有用户数据库的权限,所有的ip地址都可以通过Master这个用户来连接主数据库。
(2)查看日志

mysql> SHOW MASTER STATUS;

在这里插入图片描述
重启MySQL服务(到这里Master主数据库就配置完毕了)。

【从数据库上操作】
步骤三:

在mysql下找到my.ini文件,在其[mysqld] 下添加从服务器端配置:
server-id=2 #服务器 id ,不能和主服务器一致
replicate-do-db=cauc_microblog #待同步的数据库
保存并重启mysql服务。
从服务器上测试:

    mysql -u zh -p cauc_microblog -h 10.5.45.123

查看能否连接主数据库成功。这条指令登陆的是用户名为zh的mysql
其中,zh是自己创建的用来同步数据的用户名,cauc_microblog是待同步的数据库,10.5.45.123是主服务器上的IP地址。

步骤四
登录mysql:
连接Master

change master to
master_host='10.5.45.123',             //Master 服务器Ip地址,也就是上面写的10.5.45.123
master_port=3306,                      //Master 端口号
master_user='zh',                      //Master 用户名
master_password='123456',              //用户密码
master_log_file='master-bin.000003,    //Master服务器产生的日志要和Master服务器所配置的相互对应如下如所示的file对应
master_log_pos=0;                      //要和Master服务器所配置的相互对应如下如所示的Position对应(经过测试发现如果是一样的只能同步一次,所以这里修正成0,0是可以每次都同步成功的)

在这里插入图片描述

ps:
1.可能会报一个错误,大概的意思是说slave线程正在运行,不能设置,这样的话,执行mysql>stop slave; 停止slave线程,然后再设置连接的参数;
2.如果登陆的指令是mysql –uroot –p,并且在root用户下进行的连接master的步骤的尝试,在登陆zh用户名的数据后仍能查看数据,但是不能停止线程。在图形管理界面navicat中需要用zh的用户名才可以查看主服务器上数据库增添修改的数据。 

步骤五
启动Slave
start slave;

开启slave线程;执行mysql> show slave status\G (没有分号),查看配置是否成功,成功的标志是:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值