**********************************************************************************************************************

简要:

       操作系统                    mac

       虚拟机系统                centos

       MySQL版本               5.1




**********************************************************************************************************************

第一步:

       1)在虚拟机上建立master,slave两个虚拟机器,ip分别为

                   192.168.1.131

                   192.168.1.132


       2)两台机器上全部安装上mysql-server服务器

                   yum   install   mysql-server


       3)使用本机termail,SSH连接上两台虚拟主机

                   ssh   [email protected]

                   ssh   [email protected]

             继而在两台mysql中的test数据库中建立测试表menber

            

CREATE TABLE `menber` (`name` varchar(255) DEFAULT NULL default '',`id` int(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
insert into `menber` (`name`, `id`) values('zhangsan','1');
insert into `menber` (`name`, `id`) values('lisi','2');
insert into `menber` (`name`, `id`) values('王五','3');






**********************************************************************************************************************

第二步:

      在192.168.1.131,也就是master库上关闭iptables防火墙

      service iptables stop;








**********************************************************************************************************************

第三步:

     在主从两台服务器上分别添加一个共有的,并且拥有较高权限的统一用户

    

    1)在master上执行

 grant replication slave on *.* to 'repl'@'192.168.1.132' identified by '123456';
 flush privileges; 创建成功一个叫repl的,密码为123456的用户
 
 2)在slave上执行
 grant replication slave on *.* to 'repl'@'192.168.1.131' identified by '123456';
 flush privileges; 创建成功一个叫repl的,密码为123456的用户

   






**********************************************************************************************************************

第四步:

     1)配置master服务器的my.cnf

           在[mysqld]的下面添加如下,注意:不是[mysqld_safe]下面,这里有一个大坑!!!!!!

          log-bin=mysql-bin
          binlog_format=mixed
          server-id=131
          binlog-do-db=test                          #需要备份的数据库,多个可以使用分号隔开 
          binlog-ignore-db=mysql                #会忽略的数据库

          log-slave-updates=1

     2)配置slave服务器的my.cnf

          server-id=132
          log-bin=mysql-bin
          binlog_format=mixed    

     3)分别在两个服务器上给与mysql目录文件权限

         chown -R mysql:mysql /var/lib/mysql






**********************************************************************************************************************

第五步:

      1 )重启两台mysql

      2 )master操作

            进入mysql           

     flush tables with read lock;
     show master status;             #可以得到position,以及二进制文件名连个有用信息
     unlock tables;
 3)slave操作
     进入mysql     
     change master to 
     master_host='192.168.1.131'      #master的ip
     master_user='repl',    
     master_password='123456',   
     master_log_file='mysql-bin.000001',    #查看2)的两个信息
     master_log_pos=713;                      #查看2)的两个信息
     
     start  slave即可。
     
     
     

          
    
    
    
**********************************************************************************************************************
第六步:(测试)
  1)slave的mysql中执行
  show slave status\G;没有异常即可
  
  2)在master的MySQL中执行
  insert into `menber` (`name`) values('1229008098');
  查看slave中的数据无异常即可









**********************************************************************************************************************
说明:(master_slave_salve_slave形式的主从实现)
  参照前六步即可。master基本只需要再次执行第三步的第一个操作即可,添加一个对应新的ip地址的用户。
  slave基本可以复制前面的slave






虚拟器重启之后,需要重启slave,start slave才行






文档参考:http://www.tuicool.com/articles/2ENzY3