linux下的mysql数据库主从同步

配置 数据库主从同步



  1.分别在172.168.1.31 和 172.168.1.32安装mysql数据库   

  

    Yum install mysql mysql-server mysql-devel


      Service mysqld start    分别启动mysql数据库

    

  Mysqladmin -u root  password “123456”  分别创建mysql数据库密码


   进入数据库  mysql - u root  -p   按键enter


    输入密码:123456


   分别在2台mysql数据库服务器上创建数据库

   Create database haitian;


   

  在主数据库服务器配置:

  grant replication slave ,file on *.* to 'replication'@'172.168.1.32' identified by '123.com'; 

               (允许172.168.1.32用replication 用户同步权限 )

进入数据库 

 mysql> use mysql;

      >select host,user,password from user;

wKiom1TcYiyTaWB3AAAj5NpBSas495.gif





    

   然后2台数据库 退出 并停止 数据库服务 service mysqld stop 

 

2  配置数据库同步文件


      (1) 主:172.168.1.31

          Vi  /etc/my.cnf

              server-id=1

              log-bin=mysql-bin

              binlog-do-db=haitian   允许同步数据库

              binlog-do-db=ceshi    允许同步数据库

              binlog-ignore-db=mysql   不允许同步数据库


   


     (2)从数据库:172.168.1.32

           Vi /ect/my.cnf 

             [mysqld]   一定要添加到 下面  负责查不到数据master状态


          

            server-id=2

             log-bin=mysql-bin 

             replicate-do-db=test         允许同步数据库  (多个数据库同步 相应添加即可)

             replicate-ignore-db=mysql    不允许同步数据库


########################################


Ubuntu 系统 需要将 my.cnf 127.0.0.1  改成 0.0.0.0  默认只监听自己

 

          关闭防火墙:ufw disable   开启防火墙  ufw enable

            

#####################################


    (3)  启动 主 数据库  进入 数据库 

          Mysql> flush tables with read lock\G   (锁定数据库 暂时不同步)

               > show master status\G

            wKioL1TcYyOxosCsAAAelrv-OB0743.gif




4)从数据库配置


在slave机中进入mysql

       

    停止 stop slave;


     mysql> CHANGE MASTER TO

            -> MASTER_HOST='172.168.1.31',    [master_ip]

            -> MASTER_PORT=3306,              [master_port]

            -> MASTER_USER='replication',     [replication_user_name]

            -> MASTER_PASSWORD='123.com',     [replication_password]

            -> MASTER_LOG_FILE='mysql-bin.000005', 

                     [在主服务器(show master status;)获取File字段,recorded_log_file_name]

           -> MASTER_LOG_POS=196; 

                     [在主服务器(show master status;)获取Position字段,recorded_log_position] 


mysql>start slave;   启动从数据库



 然后在主服务器的数据库启动解锁  mysql>unlock  tables;


 在从数据库 查看 从数据库的状态是否正常


     wKiom1TcYiyxE2YPAAAb28hi_W4069.gif 

 


 

进入主数据库

     mysql>use ceshi;

   

     mysql> create table t9 ( id int );   创建t9表

 

wKiom1TcYizxcuV4AAAKak8cxio636.gif


然后 进入 从数据库

  

 mysql>use ceshi;

   

 mysql> show tables;


 wKioL1TcYyOzpyXcAAAJGtHty-c916.gif


  测试 OK


数据库 也可以做 主主同步 以实现 互相备份的方式。


你可能感兴趣的:(database)