centos6.0 mysql5.1 单向master_slave经验之谈

**********************************************************************************************************************
mysql

简要:sql

       操做系统                    mac数据库

       虚拟机系统                centos
centos

       MySQL版本               5.1服务器




**********************************************************************************************************************ssh

第一步:ide

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

                   192.168.1.131ui

                   192.168.1.132操作系统


       2)两台机器上所有安装上mysql-server服务器

                   yum   install   mysql-server


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

                   ssh   root@192.168.1.131

                   ssh   root@192.168.1.132

             继而在两台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

相关文章
相关标签/搜索