windows环境配置Mysql主从数据库

由于公司怕数据发生意外,所以需要在另一台windows服务器上进行数据库实时备份操作。从数据库是主数据库的备份,当主数据库变化时从数据库要更新。

我这里用A和B来代表不同服务器上的主从数据库。

 配置A主(Master)B從(slave)模式

            假設A主機IP:192.168.0.103

            B主機IP:192.168.0.105

            設置B主機連接A主機的mysql賬號為:backup

            密碼為:1234

配置A為Master

1.1在mysql的命令行界面操作,增加一個用戶同步使用的賬號并賦予權限:

            GRANT FILE ON *.* TO ‘backup’@'192.168.0.105' IDENTIFIED BY ‘1234’;

            GRANTREPLICATION SLAVE ON *.* TO ‘backup’@'192.168.0.105' IDENTIFIED BY ‘1234’;

這裡是賦予B主機的用戶操作權限。


1.2在A增加一個數據庫作為同步數據庫。要與B的數據庫里的表結構和數據完全相同。


1.3修改A的my.ini配置文件,在文件末尾加上

                    server-id = 1      #Server标识

                    log-bin=mysql-bin

                    binlog-do-db=testmysql  #指定需要日志的数据库,tsetmysql為這個同步數據庫名字


1.4重啟A主機的mysql數據庫,運行命令show master statuse;如下圖界面:



                                                    這里的file名字和position在下面會用到。



配置B為Slave

2.1.首先修改B的my.ini配置文件,在文件末尾加上:

        Server_id=2

        Log_slave_updates=1 #這句話很重要,缺少它不能及時檢查到Master數據庫的更新

2.2.重啟B主機的mysql數據庫,打開命令行。運行如下命令

            CHANGE MASTER TO MASTER_HOST=’192.168.0.103’,//這一行指定了Master主機A的IP

             MASTER_USER=’backup’,//用戶名

              MASTER_PASSWORD=’1234’,//密碼

              MASTER_LOG_FILE=’mysql-bin.000031’,//這個值為上面的Master Status里的File名字,只寫入數據的bin文件。

              MASTER_LOG_POS=107;//這個值為上面的Master Status里的position值,指從bin文件的多少行開始寫入。

2.3開啟B主機的Slave模式,運行

                START  SLAVE;

2.4檢查B主機的Slave狀態,運行

                SHOW SLAVE STATUS;

            仔細查看結果:Slave_IO_Running的對應值為YES,

            Slave_SQL_Running的對應著也為YES。

            說明連接正常。


測試

在A主機的同步數據庫中添加修改表的數據,在B主機的數據庫查看是否修改成功。

你可能感兴趣的:(windows环境配置Mysql主从数据库)