Mysql镜像机制配置过程
主服务器:   192.168.0.25
从服务器:   192.168.0.26
MYSQL版本:mysql-5.0.22.tar.gz
安装日期:2010年5月14日
 
 
一、镜像机制简单介绍
镜像机制是一种能够让运行在不同计算机上的两个或多个Mysql 服务器保持同步变化的机制。不同的数据库系统采用了不同的方法来建立镜像机制。mysql目前只支持“主-从”镜像关系,这种镜像关系的特点是:只有一台主控系统(可读/可写),所有的数据修改操作都必须在这台系统系统上进行,有一台或多台从属系统(只读),他们有着与主控系统完全一样的数据,主控系统在经过一个短暂的延迟后也将发生在他们身上;
 
主从镜像关系中的数据同步是通过主控系统的二进制日志文件实现的,主控系统把自己执行过的 SQL命令记载到自己的二进制日志文件中里,从属系统则通过从主控系统的二进制文件读出SQL命令并加以执行的办法来同步他们自己的数据库;MYSQL镜像机制不要求主控和从属系统必须使用同一种操作系统
 
1)、镜像机制的优点
 
1)、安全;
2)、速度;
 
2)、镜像机制的局限性和不足:
 
1)、Mysql目前只支持“主-从”镜像关系,从属系统只能用来完成数据库查询操作(只读);目前在主控系统发生故障时,mysql的镜像机制还不能把一台从属系统自动切换为新的主控系统;也就是说mysql镜像机制目前只能保障查询操作不会因为主控系统发生故障而无法执行,数据的修改操作还得不到这样的保证,对无缝镜像关系预计在5.1版本中实现;
2)、主从版本最好相同,一般来说从属系统的版本不低于主控系统;
 
 
二、配置过程
第一步配置主服务器
 
1)、首先在主从安装MYSQL;
2)、在主服务器上进入mysql,在命令行下执行
mysql>grant replication slave on *.* to 'slave'@'192.168.0.26' identified by '123456';

mysql> flush privileges;

3)、配置/etc/my.cnf配置文件,修改配置文件中如下内容,如果没有添加上去:

log-bin=mysqlmaster
    
#启动二进制日志系统,绝对应该为日志文件明确的起一个名字(这里我们用mysqlmaster),这是因为没有这么做,mysql服务器将自动使用hostname-bin作为其二进制日志文件的名字,此后万一这台计算机的主机名改变,镜像机制将无法正常工作;
 
binlog-do-db=lianhua
    
需要同步的数据库名
binlog-ignore-db=mysql
 
binlog-ignore-db=test
    
不需要同步的数据库名避免同步mysql用户配置,以免不必要的麻烦
 
server-id = 1
    
机数据库ID 标示为主,该部分还应有一个server-id=Master_id选项,其中master_id必须为1到232–1之间的一个正整数值
 
 
             
4)、停止数据库,并将本地需要同步数据库打包拷贝到从数据库上
#service mysqld stop                  
#cd /usr/local/mysql/var                
#tar -cvf lianhua.tar lianhua           
#scp lianhua.tar root@192.168.0.25:/usr/local/mysql   
[root@node1 ~]#Service mysqld start      
 
第二步、配置从服务器
1)、停止数据库
#service mysqld stop
 
2)、配置slave服务器/etc/my.cnf文件
    
server-id       = 2
    
从服务器ID号,不要和主ID相同
master-connect-retry =60
    
断点重新连接时间
replicate-ignore-db = mysql
replicate-ignore-db = test
    
不需要同步的数据库名
replicate-do-db = lianhua
    
同步数据库名
 
3)、装载主服务器数据库并启动数据库
[root@dnsslave var]# tar -xvf lianhua.tar
[root@dnsslave var]# service mysqld start
Starting MySQL                                             [确定]
 
 
第三步
 
1)、在主服务器上进入mysql的命令行
用下面的命令查看
[root@dns log]# mysql -u root -p
Enter password:
 
mysql> show master status;          #显示(不同主机结果不同)
 
+--------------------+----------+--------------+------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mysqlmaster.000002 |       98 | lianhua      | mysql,test       |
+--------------------+----------+--------------+------------------+
1 row in set (0.02 sec)
 
2)、在从服务器上执行MYSQL命令行如下:
mysql> slave stop;       
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> change master to
    ->master_host = ‘192.168.0.25’,
->master_user = ‘slave’,
->master_password = ‘123456’,
    -> master_log_file = 'mysqlmaster.000002',
    -> master_log_pos = 98;
Query OK, 0 rows affected (0.01 sec)
mysql>slave start;                    
mysql> show slave status\G;
用show slave status\G;看一下从服务器的同步情况

关于后面红线的错误提示,咨询过属正常现象,我还是不大明白,还望指教;
 
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果都是yes,那代表已经在同步
 
第四步:测试
1)、在主服务器
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| lianhua            |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
 
mysql> use lianhua;
Database changed
 
mysql> create table sanguo (id INT,name char(10));
Query OK, 0 rows affected (0.03 sec)
 
mysql> show tables;
+-------------------+
| Tables_in_lianhua |
+-------------------+
| sanguo            |
+-------------------+
1 row in set (0.00 sec)
#用navicat连接创建数据内容;
 
mysql> select * from sanguo;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 刘备   |
|    2 | 关羽   |
|    3 | 张飞   |
|    4 | 赵云   |
+------+--------+
4 rows in set (0.00 sec)
 
 
2)、在从服务器上登录
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| lianhua            |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
 
mysql> use lianhua;
Database changed
mysql> show tables;
+-------------------+
| Tables_in_lianhua |
+-------------------+
| sanguo            |
+-------------------+
1 row in set (0.00 sec)
 
mysql> select * from sanguo;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 刘备   |
|    2 | 关羽   |
|    3 | 张飞   |
|    4 | 赵云   |
+------+--------+
4 rows in set (0.00 sec)
 
mysql>
连个表都是一样的。

[转]mysql主从同步的更多相关文章

  1. zabbix3.0.4监控mysql主从同步

    zabbix3.0.4监控mysql主从同步 1.监控mysql主从同步原理: 执行一个命令 mysql -u zabbix -pzabbix -e 'show slave status\G' 我们在 ...

  2. MySQL主从同步几个文件

    MySQL主从同步:   M锁表 M导出S导入 M解锁 M建同步帐号 S获取点位:产生master.info S开启同步   3306: mysql-bin.0000x mysql-bin.index ...

  3. 监控mysql主从同步状态脚本

    监控mysql主从同步状态脚本 示例一: cat check_mysql_health #!/bin/sh slave_is=($(mysql -S /tmp/mysql3307.sock -uroo ...

  4. Linux下MySQL主从同步配置

    Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一. ...

  5. Mysql主从同步(复制)

    目录: mysql主从同步定义      主从同步机制 配置主从同步      配置主服务器      配置从服务器 使用主从同步来备份      使用mysqldump来备份      备份原始文件 ...

  6. MySQL主从同步原理 部署【转】

    一.主从的作用:1.可以当做一种备份方式2.用来实现读写分离,缓解一个数据库的压力二.MySQL主从备份原理master 上提供binlog ,slave 通过 I/O线程从 master拿取 bin ...

  7. shell脚本修复MySQL主从同步

    发布:thebaby   来源:net     [大 中 小] 分享一例shell脚本,用于修改mysql的主从同步问题,有需要的朋友参考下吧. 一个可以修改mysql主从同步的shell脚本. 例子 ...

  8. nagios 实现Mysql 主从同步状态的监控

    一.系统环境 主机名 IP nagios 192.168.15.111 mysql_s 192.168.15.21 二.操作步骤 2.1 mysql_s端的配置 2.1.1 编写check_mysql ...

  9. mysql 主从同步出问题,重新修复从库 - web架构研究

    mysql 主从同步出问题,重新修复从库 - web架构研究     mysql 主从同步出问题,重新修复从库    0     昨天由于操作失误,在从库上执行一堆sql之后,导致主从同步错误,并且已 ...

  10. mysql主从同步配置(windows环境)

    mysql主从同步配置(mysql5.5,windows环境)   A主机(作为主服务器)环境:windows8.mysql5.5 ip:192.168.1.100(自己填) B主机(作为从服务器,由 ...

随机推荐

  1. Array排序和List排序

    public class SortTest { public static void main(String[] args) { int arr[]={12,4,45,23,5,7,9,33}; Sy ...

  2. 记录一次项目中dubbo-admin实战部署

    环境: 1.centos7 2.jdk-7u76-linux-x64.tar.gz 2.tomcat:apache-tomcat-7.0.59.tar.gz 3.zookeeper-3.4.6.tar ...

  3. DOM学习总结(二)

    一.什么是DOM属性 DOM属性简单来说就是HTML的属性值 二.常见的DOM属性有哪些? 1.innerHTML 属性 获取元素的内容,想要拿到某个元素的文本内容,直接在后面加 .innerHTML ...

  4. BZOJ 5120: [2017国家集训队测试]无限之环(费用流)

    传送门 解题思路 神仙题.调了一个晚上+半个上午..这道咋看咋都不像图论的题竟然用费用流做,将行+列为奇数的点和偶数的点分开,也就是匹配问题,然后把一个点复制四份,分别代表这个点的上下左右接头,如果有 ...

  5. error C3861: “L”: 找不到标识符

    提示错误的语句:::CLSIDFromProgID(L("Shell.Application"), &clsid); 解决办法: 出现上面的错误是因为语法错误了,去掉字符串 ...

  6. XML XPATH simpleXML

    XPath 通过DOM结构定位节点,在数据量很大的情况下速度下降的很厉害.解决方法是XPath.Xpath的作用:用于快速定位节点 position()是节点的位置,节点的位置是从1开始 simple ...

  7. 三(1)、springcloud之Eureka服务注册与发现

    1.认识Eureka ​ Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移.服务注册与发现对于微服务架 ...

  8. PS--工具类

    1.移动工具 快捷点Vctrl + 点击想要移动的图层.选中后,就可以移动了. 2.选取工具 快捷键M2.1选取后填充颜色:新建图层 选取 右键填充 添加前景色 2.2两块选区选择一个选区后,属性面板 ...

  9. 6-MySQL-Ubuntu-操作数据表的基本操作(一)

    注: SQL语句的关键字不区分大小写,如select 和Select都可以 (1) 查看当前使用的数据库; select database(); (2) 使用某数据库或切换到某数据库 use 数据库名 ...

  10. Educational Codeforces Round 56 D - Beautiful Graph

    ​题目大意: 在给定的一个图中(可能不连通) 给每个点赋值1.2.3 使得一条边上的两个端点点权相加为奇数 求方案数 一条满足条件的路径上的点权必为一奇一偶交替 偶数只有2 奇数有1.3 若位于1.3 ...