mysql主从搭建

现在测试的是两个mysql都是新的,没数据的。如果master有数据的,将数据库导出,并导入slave数据库中,在启动同步之前,两边的数据要一致。



PS: 主从服务器的版本可以不一样,但是从服务器的版本必须高于主服务器的版本。




master:192.168.80.24

slave :192.168.80.45




1、主服务器上进行操作


  (1)创建同步用户并授权

       mysql>insert into mysql.user(host,user,password) values("localhost","repl",password("repl"));

       mysql>flush privileges;

        mysql>grant replication slave on *.* to ‘repl’@‘192.168.80.45‘ identified by ‘repl‘;


       PS:创建用户还可以:CREATE USER ‘user‘@ ‘X.X.X.X‘ IDENTIFIED BY ‘password‘;


   (2)修改my.cnf文件,在[mysqld]下添加下面两行:

      

      log-bin=mysql-bin

      server-id=24

      技术分享

            

             server-id                         #服务器id,一般取ip地址末段

             log-bin=mysql-bin          #启动二进制日志  

             然后重启mysql服务

  (3)登陆mysql查询主数据库的状态

      mysql> show master status;

      记下File以及Position的值,在后面进行从服务器操作的时候需要使用。

2、配置从服务器

  (1)修改从服务器的配置文件/etc/my.cnf,在[mysqld]下面添加:


      server-id=45       确定这个id没有被别的mysql服务所使用。

      log-bin=mysql-bin


      然后启动或者重启从数据库

  (2)登录mysql     

      mysql -uroot -p


  (3)执行同步的sql语句

    mysql>change master to    master_host=‘192.168.80.24‘,master_user=‘repl‘,master_password=‘repl‘,

    master_log_file=‘mysql-bin.000001‘,master_log_pos=107;


  (4)执行正确后再执行

     mysql> start slave;

     这样就启动了slave同步功能。


  (5)主从同步检查

     执行如下语句

     mysql>show slave status\G

          技术分享


     Slave_IO进程以及slave_SQL进程都必须正常运行,在状态输出中表现为:“slave”;否则都是不正确,两个进程的状态(如一个值是Yes,另一个是No则不行)。





本文出自 “寒江独钓” 博客,请务必保留此出处http://iter2012.blog.51cto.com/6873825/1613756

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