mysql主从复制

mysql主从数据库配置

如何配置mysql主从数据库


首先确保主从服务器上的Mysql版本相同
主数据库服务器配置:
1. 修改主数据库的配置文件my.ini, 修改之后重启Mysql服务。

        [mysqld]
        port=3306
        server-id=10  #与从数据库不同
        log-bin=c:\log-bin.log    #日志文件
        binlog-do-db=tpceshi #这里设置需要在主服务器记录日志的数据库,只有在这里设置了的数据库才能被复制到从服务器
        binlog-ignore-db=mysql #这里设置在主服务器上不记度日志的数据库

2. 打开mysql命令行登陆mysql,设置一个从数据库的账户,给从数据库分配复制权限

   mysql>GRANT REPLICATION SLAVE ON *.* TO slave001‘@‘192.168.0.99‘ IDENTIFIED BY ‘123456‘;

  slave001:用户名

  192.168.0.99:IP

  123456:密码

  3.show masterstatus;显示主数据库状态 

    技术分享

  File:数据库日志文件

  Position:日志位置  

  这2个选项用于在从数据库服务器中配置

  ////////////////

从数据库数据同步

 ////////////////

好了,现在可以停止主数据的的更新操作,并生成主数据库的备份,我们可以通过mysqldump导出数据到从数据库
 
注意在导出数据之前先对主数据库进行READ LOCK,以保证数据的一致性

mysql> flush tables with read lock;

之后是mysqldump

mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql

最好在主数据库备份完毕,恢复写操作

mysql> unlock tables;

将刚才主数据备份的test.sql复制到从数据库,进行导入

从数据库服务器配置:

1.修改从数据库的my.ini,增加server-id参数,与主数据库不同

2.mysql命令行,指定复制使用的用户,主数据库服务器的ip,端口以及开始执行复制日志的文件和位置

        CHANGE MASTER TO
        MASTER_HOST=‘192.168.1.238‘,
        MASTER_USER=‘root‘,
        MASTER_PASSWORD=‘123456‘,
        MASTER_LOG_FILE=‘log-bin.000001‘,
        MASTER_LOG_POS=120;

3.在从服务器上,启动slave进程

mysql> start slave;

4. 在从服务器进行show salvestatus验证

        mysql> SHOW SLAVE STATUS\G
        Slave_IO_State: Waiting for master to send event
        Master_Host: localhost
        Master_User: root
        Master_Port: 3306
        Connect_Retry: 3
        Master_Log_File: mysql-bin.003
        Read_Master_Log_Pos: 79
        Relay_Log_File: gbichot-relay-bin.003
        Relay_Log_Pos: 548
        Relay_Master_Log_File: mysql-bin .003
        Slave_IO_Running: Yes
        Slave_SQL_Running: Yes

如果Slave_IO_RunningSlave_SQL_Running都为YES的话,则表明配置成功。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。