`
tw5566
  • 浏览: 460586 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

(转)mysql 主从数据库配置(windows)

 
阅读更多

系统环境:Windows 2003
       MYSQL版本 5.1.38
1:主服务器main
IP地址:192.168.1.101
2:从服务器companion
IP地址:192.168.1.102

1、首先停止主服务器Mysql服务,备份数据库到从服务器确保主从服务器数据库数据一样。后启动MYSQL服务。


2、在主服务器Mysql数据库上创建一个备份用户
命令如下:

Java代码  收藏代码
  1. GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* to hao@'192.168.1.102' IDENTIFIED BY '123'  

建立一个帐户hao,并且只能允许从192.168.1.102这个地址上来登陆,密码是123。赋予权限:REPLICATION SLAVE,RELOAD,SUPER(同时赋予需要同步的数据库全部权限)

 

在2号服务器: companion上做连接测试: mysql -h 192.168.1.101 -u backup -p  输入密码123测试连接登陆。

 

 

3、对A服务器的配置进行修改,打开mysql/my.ini文件,在[mysqld]下面添加如下内容:

Java代码  收藏代码
  1. server-id=1 #主数据库ID  
  2. log-bin=D:\mysqllog\log-bin.log #二进制变更日志  
  3. binlog-do-db=mytest #需要同步的数据库名  
  4. binlog-ignore-db=mysql #不需要同步的数据库名  
  5. binlog-ignore-db=test #不需要同步的数据库名复制代码  

 

 

 4、重启A服务器,从现在起,它将把客户堆有关数据库的修改记载到二进制变更日志里去。

 

5、对B服务器的配置进行修改,打开mysql/my.ini文件,在[mysqld]下面添加如下内容:

Java代码  收藏代码
  1. server-id=2 #从服务器B的ID值。注意不能和主服务器的ID值相同  
  2. master-host=192.168.1.101 #主服务器的IP地址  
  3. log-bin=D:\mysqllog\log-bin.log #二进制变更日志  
  4. master-user=backup #从服务器连接主服务器的帐号  
  5. master-password=123 #从服务器连接主服务器的帐号密码  
  6. master-port=3306 #主服务器端口  
  7. master-connect-retry=60 #同步时间间隔为60秒  
  8. ######以下内容为可选  
  9. replicate-do-db=mytest #需要同步的数据库  
  10. binlog-ignore-db=mysql #不需要同步的数据库  

 

6、重启从服务器B。至此所有设置全部完成。更新A中的数据,B中也会立刻进行同步更新。

 

检测是否同步与排错可用以下命令查看:
1、在slave从服务器B上 输入:show slave status\G
主要查看:
Slave_IO_Running: Yes (#注:如果这个为NO,可重新修改my.ini 中相关slave的配置信息,重新启动查看 slave的状态还是显示未修改的数据,应为 第一次是读取my.ini,之后就会在mysql/下生成一个master.info 的文件,因此第二次就不会读取my.ini 的内容,而是读取master.info中的内容,为此要想使重新修改的my.ini生效的话,删除master.info文件 ,重起mysql既可解决。如果不能解决则可能是彼此之间的通讯问题或其它)
Slave_SQL_Running: Yes (#注:如果这里为NO,很有可能是因为你的A库和B库的数据库不一致造成的。停止主从服务器MYSQL服务后删除A库中所有log-bin.log文件和B库所有的relay_log文件 并重启AB服务器即可解决)
Seconds_Behind_Master是否为0,0就是已经同步

2、在master主服务器A上输入show processlist\G
mysql> show processlist\G
*************************** 1. row ***************************
     Id: 2
   User: backup
   Host: 192.168.1.102:3341
     db: NULL
Command: Binlog Dump
   Time: 849
  State: Has sent all binlog to slave; waiting for binlog to be updated
   Info: NULL
*************************** 2. row ***************************

如果出现Command: Binlog Dump,则说明配置成功.

# stop slave    #停止同步
# start slave    #开始同步,从日志终止的位置开始更新。
# SET SQL_LOG_BIN=0|1 #主机端运行,需要super权限,用来开停日志,随意开停,会造成主机从机数据不一致,造成错误
# SET GLOBAL SQL_SLAVE_SKIP_COUNTER=n # 客户端运行,用来跳过几个事件,只有当同步进程出现错误而停止的时候才可以执行。
# RESET MASTER #主机端运行,清除所有的日志,这条命令就是原来的FLUSH MASTER
# RESET SLAVE   #从机运行,清除日志同步位置标志,并重新生成master.info
虽然重新生成了master.info,但是并不起用,最好,将从机的mysql进程重启一下,
# LOAD TABLE tblname FROM MASTER #从机运行,从主机端重读指定的表的数据,每次只能读取一个,受timeout时间限制,需要调整timeout时间。执行这个命令需要同步账号有 reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和net_write_timeout的值
# LOAD DATA FROM MASTER #从机执行,从主机端重新读入所有的数据。执行这个命令需要同步账号有reload和super权限。以及对相应的库有select权限。如果表比较大,要增加net_read_timeout 和net_write_timeout的值
# CHANGE MASTER TO master_def_list #在线改变一些主机设置,多个用逗号间隔,比如
CHANGE MASTER TO
MASTER_HOST='master2.mycompany.com',
MASTER_USER='replication',
MASTER_PASSWORD='bigs3cret'
# MASTER_POS_WAIT()#从机运行
# SHOW MASTER STATUS#主机运行,看日志导出信息
# SHOW SLAVE HOSTS#主机运行,看连入的从机的情况。
# SHOW SLAVE STATUS(slave)
# SHOW MASTER LOGS(master)
# SHOW BINLOG EVENTS [ IN 'logname' ] [ FROM pos ] [ LIMIT [offset,] rows ]
# PURGE [MASTER] LOGS TO 'logname' ; PURGE [MASTER] LOGS BEFORE 'date'

参考检测方法:
在A执行
mysql> show master status\G
*************************** 1. row ***************************
            File: log-bin.000002
        Position: 106
    Binlog_Do_DB: mytest
Binlog_Ignore_DB: mysql,test
1 row in set (0.00 sec)
在B执行
mysql> show slave status\G
*************************** 1. row ***************************
             Slave_IO_State: Waiting for master to send event
                Master_Host: 192.168.1.101
                Master_User: backup
                Master_Port: 3306
              Connect_Retry: 60
            Master_Log_File: log-bin.000002
        Read_Master_Log_Pos: 106
             Relay_Log_File: weige-relay-bin.000005
              Relay_Log_Pos: 659
      Relay_Master_Log_File: log-bin.000002
           Slave_IO_Running: Yes
          Slave_SQL_Running: Yes
            Replicate_Do_DB: mytest
        Replicate_Ignore_DB: mysql,test
         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: 524
            Relay_Log_Space: 659
            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)

分享到:
评论

相关推荐

    mysql主从库配置

    ### MySQL 主从库配置详解 #### 一、MySQL 安装与环境变量设置 在进行 MySQL 主从库配置之前,我们需要确保已经正确安装了 MySQL,并设置了相应的环境变量。以下是具体的步骤: 1. **下载 MySQL 免安装版**: - ...

    mysql主从配置资源

    MySQL主从配置是数据库高可用性和负载均衡的一种常见策略,尤其在Windows环境下,为了实现读写分离、主从复制和一主多从架构,可以极大地提高数据库系统的性能和稳定性。结合Spring框架,我们可以轻松地在应用程序中...

    mysql主从数据库的一些资料

    MySQL主从数据库是一种常见的数据库高可用性和负载...以上是关于MySQL主从数据库实现原理、安装配置及常见问题的详细介绍。通过理解这些知识点,可以有效地构建和管理MySQL主从复制环境,提升系统的稳定性和扩展性。

    MySQL主从复制(Windows)详细实现步骤的讲解视频

    总结来说,MySQL主从复制在Windows环境下的实现包括:主服务器的二进制日志配置,复制用户的创建,从服务器的初始设置,以及复制进程的启动和监控。这一过程对于数据库的高可用性、数据安全和灾难恢复都至关重要。...

    MySQL数据库的主从同步备份在windows下实现

    通过以上步骤,你可以在Windows环境下成功配置MySQL数据库的主从同步备份。这个配置对于确保业务连续性和数据安全性至关重要,特别是在面临单点故障风险时,从服务器可以立即接管,保证服务不中断。同时,这种架构也...

    win系统下的mysql主从同步配置

    在Windows操作系统下配置MySQL主从同步涉及多个步骤,以下将详细解读配置的原理、步骤、优缺点等内容。 MySQL主从同步原理: MySQL主从同步的核心在于主库(Master)记录更改操作的二进制日志(binlog),从库...

    windows下mysql主从同步备份步骤

    在Windows环境下,MySQL主从同步备份是一种常见的高可用性和数据冗余策略,确保数据的安全性和一致性。以下是详细步骤,适用于MySQL 5.0版本: 1. **创建备份账户**: 在主服务器A上,我们需要创建一个用于复制的...

    MySQL 主从配置网关(Windows)

    MySQL主从配置在Windows环境下的实现是一个常见的数据库高可用性和数据冗余策略。这个过程涉及到一个主MySQL服务器,它处理所有写操作,并将更改复制到一个或多个从服务器上,这些从服务器仅执行读操作。这有助于...

    mysql 主从复制环境搭建

    在 Windows 环境下,搭建 MySQL 主从复制功能需要准备系统环境、安装 MySQL 服务、配置主从复制等步骤。 步骤一:准备系统环境 1. 准备一台 PC,安装 Windows XP 32 位操作系统。 2. 安装 MySQL 5.0。 步骤二...

    windows下MySql配置主从

    最近用到的,配置 主从数据库,亲自使用成功的文档分享给大家,希望有帮助。

    MySQL数据库主从配置

    在进行MySQL主从配置之前,需要确保以下几点: 1. **主服务器和从服务器版本兼容**:虽然不同版本之间可以进行复制,但为了减少潜在问题,建议使用相同或相近版本。 2. **二进制日志开启**:主服务器上必须开启二...

    MySql主从配置实践过程记录

    在Windows下通过MySql提供的主从复制技术实现数据库主从同步机制,文档中详细记录我在项目中配置的实践过程

    MySQL5.7主从复制(Win10)及mybatis相关配置

    MySQL5.7主从复制是数据库高可用性和数据冗余的一种常见实现方式,特别是在Windows操作系统环境下,这种配置有助于确保服务的连续性和数据的一致性。本文将深入探讨MySQL5.7在Windows 10上的主从复制配置以及与...

    小记一次mysql主从配置解决方案

    MySQL主从配置是一种常见的数据库高可用性和负载均衡策略,它主要目标是实现读写分离,提升数据库系统的并发处理能力。在大数据量或者复杂的报表查询场景下,某些SQL语句可能会导致长时间锁定表,从而影响到前端应用...

    windows环境下MyCAT+mysql主从配置.pdf

    在Windows环境下实现MySQL主从配置,以及结合MyCAT作为数据库中间件的应用场景,是很多企业级应用中的常见需求。通过这样的架构设计,不仅可以提升系统的可用性和扩展性,还能有效降低单一数据库节点的压力,提高...

    201407Windows中 MySQL5.5主从服务器配置及主或从挂掉问题处理

    MySQL 5.5 在 Windows 上的主从配置是一项重要的数据库管理任务,用于实现数据的冗余和高可用性。在这个过程中,我们需要设置一个主服务器(Master)和一个或多个从服务器(Slave),主服务器负责处理写操作,而从...

Global site tag (gtag.js) - Google Analytics