mysql AB复制攻略

一、AB复制 (主从服务器之间复制二进制文件,主上边必须开日志文件)
    1。读写分离(负载均衡,高可读性)
    2。数据备份
  具有replocation slave 权限后 才能复制到从服务器上

二、流程介绍

     主                                  从

进程 I/O                                 I/O sql
 开启日志文件
  开启用户                       通过此用户复制文件
 此用户有replocation slave权限

配置主:1. server-id
       2. 开启日志log-bin
       3. grant
    4. mysqldump 完全备份  导入从服务器 做同步
配置从: 1.server-id
    2.指定连接哪个主服务器 master-host
                     -user
                   -password
    3。开启sql进程


三、配置过程

主数据配置:
    vim /etc/my.cnf
    server-id=1
     [mysqld]
        log-bin=mysql-bin //命名为mysql-bin 等号后边的内容可以不写  只是起到命名作用
 


 mysql> grant replication slave on *.* to slave@192.168.1.90 identified by '123';
 

主数据库进行完全备份

   mysqldump --all-databases -u root -p123 > all.sql

将主的数据库备份scp到从服务器

  scp all.sql 192.168.1.90:/root
 
从数据库配置:
   mysql -h 192.168.1.9 -u slave -p123
   mysql> select user();
 
#mysql -p123 < all.sql 导入数据库 进行同步
  vim /etc/my.cnf
     [mysqld]  
    server-id=2
    master-host=192.168.1.9
    master-user=slave
    master-password=123


删除之前的mysql数据信息

cd /usr/local/mysql/var
  rm -rf *bin*
  rm -fr stu*


服务进行重启

/etc/init.d/mysql.server restart

主服务器上也重新启动
   /etc/init.d/mysql.server restart



 /usr/local/mysql/var/下查看有没有这些文件mysql-bin.00000*
执行下边命令
主机执行 show master status;

从机执行:
mysql> slave stop;
mysql> change master to master_log_file="当前的日志文件",master_log_pos=位置号;
mysql>slave start;

show slave status\G   
            Read_Master_Log_Pos: 670
               Relay_Log_File: localhost-relay-bin.000002
                Relay_Log_Pos: 251
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
两个Running 都必须是yes    master_log_pos=位置号;  位置号必须于master 的一样。
这样之后两个服务器之间就能实现同步更新数据库
select * from tablename;
阅读更多
个人分类: 系统运维
上一篇PXE 远程批量安装linux 服务器
下一篇LAMP环境搭建过程
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭