Mysql 主从复制


自己搞着玩可以在一台机子上安装多个mysql,我的blog中有在windows下安装多个mysql的博文



开始介绍主从复制


1,修改master的配置文件 my.ini,如果是通过最初安装的mysql 那它的配置文件可能在:C:\ProgramData\MySQL\MySQL Server xxx,找到这个文件进行下一步配置


basedir = C:/software/mysql-5.6.16-winx64-3310

datadir = C:/software/mysql-5.6.16-winx64-3310/data

#tmpdir = C:/software/mysql-5.6.16-winx64-3310/tmp

port = 3310 #默认3306

log-bin=master-bin //[必须]启用二进制日志

log-bin-index=master-bin.index

#default-character-set = utf8

# server_id = ..... #默认为 1




2.修改slave的配置文件my.ini

basedir = xx:/software/mysql-5.6.16-winx64-3311

datadir = xx:/software/mysql-5.6.16-winx64-3311/data

tmpdir = xx:/software/mysql-5.6.16-winx64-3311/tmp

port = 3307

relay-log = slave-relay-bin //[必须]启用二进制日志

relay-log-index = slave-relay-bin.index

#default-character-set = utf8

server_id =  22



3,重启两台服务器


4,在master上创建一个复制用户  slave   slavepass


5, master 上对slave用户进行授权

        可以重新设置reset slave;

   mysql>GRANT REPLICATION SLAVE ON *.* to ‘slave  ‘@‘%‘ identified by ‘slavepass‘; //一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。


6、登录主服务器的mysql,查询master的状态

   mysql>start master; //启动master

   mysql>show master status;
   +------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000004 |      308 |              |                  |
   +------------------+----------+--------------+------------------+
   1 row in set (0.00 sec)
   注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化



7、配置从服务器Slave:
   mysql>change master to aster_host=‘mastIP/host‘,master_user=‘slave‘,master_password=‘slavepass‘,
         master_log_file=‘mysql-bin.,000004‘,master_log_pos=308;   //注意不要断开,“308”无单引号。

   Mysql>start slave;    //启动从服务器复制功能

8、检查从服务器复制功能状态:

   mysql> show slave status\G

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

                Slave_IO_State: Waiting for master to send event

                   Master_Host: 192.168.2.222  //主服务器地址

                   Master_User: myrync         //授权帐户名,尽量避免使用root

                   Master_Port: 3306           //数据库端口,部分版本没有此行

                 Connect_Retry: 60

               Master_Log_File: mysql-bin.000004

           Read_Master_Log_Pos: 600        //#同步读取二进制日志的位置,大于等于>=Exec_Master_Log_Pos

                Relay_Log_File: ddte-relay-bin.000003

                 Relay_Log_Pos: 251

         Relay_Master_Log_File: mysql-bin.000004

              Slave_IO_Running: Yes       //此状态必须YES

             Slave_SQL_Running: Yes       //此状态必须YES
                    ......

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

以上操作过程,主从服务器配置完成。
  







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