mysql主从复制同步(亲测有效,windows适用)

*************************************************耐心点,这个方法可以成功*****************************************************

一,下载mysql(mysql官网下载,我使用的是安装版的mysql,版本为8.0.13)。

二,在两台windows上分别安装mysql,安装教程自行百度。

三,定义主数据库和从数据库(这个随意,我用两台电脑,ip分别为:192.168.0.163(从)192.168.0.213(主)

四,主数据库的配置:

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

                                mysql> create database db1;

                                ② 找到my.ini    (我的my.ini在C:\ProgramData\MySQL\MySQL Server 8.0\my.ini);

                                ③ 打开my.ini,找到 server-id=1,然后在下面添加

                                log-bin=mysql-bin              ## 开启二进制日志
                                binlog-do-db=db1              ## 要主从的数据库
                                binlog-ignore-db=mysql    ## 不需要主从的数据库

                                 ④ 重启mysql(方法A:在服务里重启,方法B:C:\Users\Administrator> net start mysql80  [回车])

                                 ⑤ 创建用于主从的用户

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

                                 mysql> grant REPLICATION SLAVE on *.* to mstest@'192.168.0.163';

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

                                  mysql> show master status \G

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

                                                            File: mysql-bin.000003

                                                     Position: 3465

                                           Binlog_Do_DB: db1

                                    ⑦ 记住上面的File和Position(五.⑤要用到),需要用于从数据库的配置,以上①②③④⑤⑥都在主数据库完成

五,从数据库的配置:

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

                                mysql> create database db1;

                                ② 找到my.ini    (我的my.ini在C:\ProgramData\MySQL\MySQL Server 8.0\my.ini);

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

                                log-bin=mysql-bin                ## 开启二进制日志
                                replicate-do-db=db1              ## 被主从的数据库

                                 ④ 重启mysql(方法A:在服务里重启,方法B:C:\Users\Administrator> net start mysql80  [回车])

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

                                 mysql> change master to master_host='192.168.0.213', master_user='mstest',                                                                            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

你可能感兴趣的:(学习笔记)