【MySQL】MySQL数据库的同步

rel="File-List" href="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_filelist.xml" />

      

目的:应付不断增加的数据库访问压力,采用主从数据库的分布式结构,将读写分开,降低I/O压力和数据库访问压力

MySQL数据库复制机制的特点

l        主库必须启用Bin log,主库和从库必须有唯一的Server Id

l        从库必须清楚了解从主库的哪一个Bin log文件的哪一个偏移位置起开始复制;

l        从库可以从主库只复制指定的数据库,或者数据库的某些数据表;

l        主库和从库的数据库名称可以不一样,不过还是推荐使用一样的名称;

l        主库和从库的MySQL版本需保持一致;

准备

主(MASTER

服务器

192.168.0.1

数据库名称

db_test

端口

3306

 

从(SLAVE

服务器

192.168.0.2

数据库名称

db_test(主从数据名称最好一致,便于管理和访问)

端口

3306

 

 

实施

MASTER

1、 停止所有操作MASTER数据库的访问进程;

2、 完全备份现有数据库,db_test.bak.sql

3、 创建同步专用用户,user_sync,密码:pwd

4、 绑定从服务器(SLAVE),赋予user_sync同步权限;

GRANT FILE ON *.* TO

user_sync@192.168.0.2 IDENTIFIED BY 'pwd';

 

GRANT REPLICATION SLAVE ON *.* TO

user_sync @192.168.0.2 IDENTIFIED BY ' pwd ';

5、 停止MASTER服务,修改MySQL配置文件mysql.ini,在节点[mysqld]加入如下配置信息:

指定ServerID1001

指定需要同步的数据库db_test

指定同步日志名称mysqlbin_test

###################################################################

server-id=1001

binlog-do-db=db_test

log-bin = 'mysqlbin_test'#

###################################################################

 

6、 启动MASTER服务;

7、 查看MASTER状态:

命令:SHOW MASTER SATUS/G;/*查看Master状态*/

结果:(示例,具体的值可能不一致)

mysql> SHOW MASTER STATUS/G;

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

            File: mysqlbib_test.000001

        Position: 98

    Binlog_Do_DB: db_test

Binlog_Ignore_DB:

1 row in set (0.00 sec)

 

ERROR:

No query specified

记录FilePosition的值,用于Slave的配置:

File   = mysqlbib_test.000001

Position = 98

8、  

      

       SLAVE

     Slave数据库上

1、    创建从(Slave)数据库db_test

2、    还原上述Master的数据库备份,这样做的目的是保持MASTERSLAVE的同步起始点一致;

3、    停止SLAVE服务,修改MySQL配置文件mysql.ini,在节点[mysqld]加入如下配置信息:

指定ServerID2001

指定需要同步的数据库db_test

指定同步日志名称mysqlbin_test

###################################################################

server-id=2001

binlog-do-db=db_test

log-bin = 'mysqlbin_test'#

###################################################################

4、    启动SLAVE服务,执行如下的命令:

CHANGE MASTER TO

MASTER_HOST='192.168.0.1',

MASTER_USER=' user_sync ',

MASTER_PASSWORD=' pwd ',

MASTER_LOG_FILE=' mysqlbib_test.000001', /*上述File的值*/

MASTER_LOG_POS=98; /*上述Position的值*/

注:也可以直接修改文件(/data/master.info) 

14

mysqlbib_test.000001   #  MASTER_LOG_FILE

98                        #  MASTER_LOG_POS

192.168.0.1                #  MASTER_HOST

user_sync                 #  MASTER_USER

pwd                #  MASTER_PASSWORD

3306                           #  MASTER_PORT

60                               #  同步周期(s

0                                

5、    重新启动SLAVE服务;

6、    执行如下命令,启动Slave

START SLAVE;

7、    查看SLAVE状态: 

命令:SHOW SLAVE STATUS/G;

结果:(示例,具体的值可能不一致)

mysql> SHOW SLAVE STATUS/G;

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

             Slave_IO_State: Waiting for master to send event

                Master_Host: 192.168.0.1

                Master_User: user_ sync

                Master_Port: 3306

              Connect_Retry: 60

            Master_Log_File: mysqlbib_db_test.000001

        Read_Master_Log_Pos: 98

             Relay_Log_File: slave-relay-bin.000002

              Relay_Log_Pos: 143

      Relay_Master_Log_File: mysqlbib_db_test.000001

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

            Replicate_Do_DB:

        Replicate_Ignore_DB:

         Replicate_Do_Table:

     Replicate_Ignore_Table:

    Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

                 Last_Errno: 0

                 Last_Error:

               Skip_Counter: 0

        Exec_Master_Log_Pos: 98

            Relay_Log_Space: 143

            Until_Condition: None

             Until_Log_File:

              Until_Log_Pos: 0

         Master_SSL_Allowed: No

         Master_SSL_CA_File:

         Master_SSL_CA_Path:

            Master_SSL_Cert:

          Master_SSL_Cipher:

             Master_SSL_Key:

      Seconds_Behind_Master: 0

1 row in set (0.00 sec)

 

ERROR:

No query specified

确认

Slave_IO_RunningSlave_SQL_Running的值为YES

8、    修改MASTER数据,验证SLAVE数据是否同步;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值