Window-Mysql主从复制

致敬大佬!!!

原文地址:https://blog.csdn.net/Jack_young_/article/details/84957583

https://blog.csdn.net/u010509052/article/details/80449134

 

mysql主从复制同步

一、下载mysql

https://dev.mysql.com/downloads/mysql/)5.5版本以上(符合mycat 版本)。

 

mysql两个以上

在两台windows上分别安装mysql或者一台电脑上安装两个mysql

 

三、定义主数据库和从数据库

一台电脑上安装两个mysql)(这个随意,我用两台电脑, ip分别为:localhost(从)和localhost(主))

 

四、主数据库的配置:

dos进入mysql

 

   ① 在主数据库里创建需要主从的数据库

 

      mysql> create database db1;

 

     找到my.inimysql安装目录下:D:\mysql01);

 

     打开my.ini找到 server-id=1(没有就添加),然后在下面添加

         [mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录

# 设置mysql数据库的数据的存放目录

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

#=========主从复制关键配置=====================

server_id=1 #主库和从库需要不一致,配一个唯一的ID编号,132。 手动设定

log-bin=mysql-bin #二进制文件存放路径,存放在根目录data

#binlog-do-db=test #需要复制的库,多个库用逗号隔开,如果此项不配置所有主库都参与 复制

#binlog-ignore-db=mysql #不需要复制的库,和上项同理

#=========主从复制关键配置=====================

 

    重启mysql(方法A:在服务里重启,方法BC:\Users\Administrator> net start mysql80

 

    创建用于主从的用户

   mysql> create user myslave@localhost identified by '123456';  (用于在从数据库登录的账号)

#myslave是用户名,'123456'密码是用户对应的密码,localhost也可以写ip

   mysql> grant REPLICATION SLAVE on *.* to myslave@'localhost ';

 

 

    查询用于同步的二进制文件和位置

      mysql> show master status \G

      **********************1.row*******************

      File: mysql-bin.000003

      Position: 3465

   Binlog_Do_DB: db1

 

 记住上面的FilePosition参数;

 

五、从数据库的配置:

dos进入mysql

     ① 在从数据库里创建数据库

         mysql> create database db1;

 

       找到my.ini(在mysql安装目录下:D:\mysql01);

 

      打开my.ini,找到 server-id改为2,也就是(server-id=2)然后在下面添加

 

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3307

# 设置mysql的安装目录

# 设置mysql数据库的数据的存放目录

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

#========主从复制关键配置======================

server_id=2 #主库和从库需要不一致

#binlog-do-db=test #和主库说明一致

#binlog-ignore-db=mysql #和主库说明一致

#========主从复制关键配置======================

 

  重启mysql(方法A:在服务里重启,方法BC:\Users\Administrator> net start mysql80

 

  在从数据库设置参数,一定要保证数据和主数据库的一致性,尤其master_log_filemaster_log_pos

mysql>change master to master_host='localhost',

master_user='myslave',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=3465;

 

 查看是否设置成功

   mysql> start slave;  ##开启

    mysql> show slave status \G

     ********************1.row********************

    Slave_IO_Running:  Yes

     Slave_SQL_Running: Yes

 

  出现Slave_IO_Running:  Yes Slave_SQL_Running: Yes 说明配置成功

测试结果

 

        A:登录数据库并在主数据库db1创建表和添加数据

 

mysql> use db1;

            create table user(id int);

            insert into user values(1);

            select * from user \G

            *********************1.row*******************

             id: 1

 

        B:打开从数据库并在从数据库查询主数据库添加的数据

 mysql> use db1;

              show tables;

              select * from user \G

 

              *********************1.row*******************

              id: 1

posted @ 2020-04-13 17:17  啄木鸟chens  阅读(181)  评论(0编辑  收藏  举报