MySQL主从介绍、准备工作、准备工作、配置从、测试主从同步

17.1 MySQL主从介绍

  • MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步;
  • MySQL主从是基于binlog的,主上须开启binlog才能进行主从。
  • 主从过程大致有3个步骤
    • 主将更改操作记录到binlog里
    • 从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里
    • 从根据relaylog里面的sql语句按顺序执行
  • 主上有一个log dump线程,用来和从的I/O线程传递binlong
  • 从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个sql线程用来把relaylog里面的sql语句落地
    MySQL主从原理图:

17.2 准备工作

  • 安装mysql

备注:

#设置开机启动
[[email protected] ~]# chkconfig mysqld on

请查阅之前的文章:http://blog.51cto.com/3622288/2056837 12.2小节

17.3 配置主

  • 修改my.cnf
[[email protected] ~]# vi /etc/my.cnf

#增加server-id=130和log_bin=taoyuan
socket=/tmp/mysql.sock #如下增加
server-id=12 #可以自定义,如设定为IP地址192.168.0.12 中的12
log_bin=taoyuan
  • 修改完配置文件后,启动或重启mysqld服务
[[email protected] ~]# /etc/init.d/mysqld restart;

#查看文件
[[email protected] ~]# cd /data/mysql/

[[email protected] mysql]# ls -lt
-rw-rw----  1 mysql mysql       34 1月  23 16:57 taoyuan.index
-rw-rw----  1 mysql mysql      120 1月  23 16:57 taoyuan.000002
-rw-rw----  1 mysql mysql      143 1月  23 16:57 taoyuan.000001
#上述文件,必须有,不然主从无法完成
  • 把mysql可备份并恢复成taoyuan库,作为测试数据

    • mysqldump -uroot mysql > /tmp/mysql.sql
    • mysql -uroot -e "create database taoyuan"
    • mysql -uroot taoyuan < /tmp/mysql.sql
  • 创建用作同步数据的用户
#创建用户
mysql> grant replication slave on *.* to ‘repl‘@‘192.168.0.10‘ identified by ‘taoyuan‘;
Query OK, 0 rows affected (0.00 sec)

#锁表,防止再次写入数据
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.03 sec)

#记住位置
mysql> show master status;
+----------------+----------+--------------+------------------+-------------------+
| File           | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| taoyuan.000002 |   660574 |              |                  |                   |
+----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

17.4 配置从

  • 修改配置文件
[[email protected] ~]# vi /etc/my.cnf
#增加server-id 跟主不一样 可以设置成10
#log_bin 不需要设置,主才需要生成二进制文件,从不用

#重启服务
[[email protected] ~]# /etc/init.d/mysqld restart
  • 数据同步
#采用复制虚拟机操作,如果没有可以用如下的命令进行同步
scp 192.168.0.12:/tmp/*.sql /tmp/

#恢复库
mysql> create database taoyuan;
Query OK, 1 row affected (0.00 sec)

mysql> create database blog;
Query OK, 1 row affected (0.01 sec)
  • 实现主从
mysql> stop slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> change master to master_host=‘192.168.0.12‘, master_user=‘repl‘, master_password=‘taoyuan‘, master_loog_file=‘taoyuan.000002‘, master_log_pos=660574;
Query OK, 0 rows affected, 2 warnings (0.04 sec)
#填写show master status; 显示的信息

mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
  • 查看主从是否配置成功
mysql> show slave status\G

#还需到主上执行 unlock tables;

17.5 测试主从同步

  • 主上 mysql -uroot taoyuan
  • select count(*) from db;
  • truncate table db;
  • 到从上mysql -uroot aming;
  • select count(*) from db;
  • 主上继续drop table db;
  • 从上查看db表
  • 几个配置参数
    • 主服务器上
    • binlog-do-db= //仅同步指定的库
    • binlog-ignore-db= //忽略指定库
    • 从服务器上
    • replicate_do_db=
    • replicate_ignore_db=
    • replicate_do_table=
    • replicate_ignore_table=
    • 如下两个常用
    • replicate_wild_do_table= //如taoyuan.%,支持通配符%
    • replicate_wild_ignore_table=

mysql主从配置uuid相同错误解决

配置mysql主从时,由于是拷贝的mysql目录,导致主从mysql uuid相同, Slave_IO无法启动,报错信息如下:

The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
解决办法:修改mysql data 目录下auto.cnf 文件中uuid的值,使两台mysql不同即可,修改后重启mysql服务。

原文地址:http://blog.51cto.com/3622288/2064347

时间: 2024-10-11 07:22:06

MySQL主从介绍、准备工作、准备工作、配置从、测试主从同步的相关文章

mysql主从介绍,准备工作,主配置,从配置,主从测试

主从介绍 MySQL主从又叫做Replication.AB复制.简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步. MySQL主从是基于binlog的,主上须开启binlog才能进行主从. 主从过程三个步骤 主将更改操作记录到binlog中 从将主的binlog事件(SQL语句)同步到本机并记录在relaylog中 从根据relaylog里面的SQL语句按顺序执行 该过程有三个线程,主上有一个logdump线程,用来和从的i/o线程传递binlog:从上

MySQL主从介绍、准备工作、配置主、配置从、测试主从同步

MySQL主从介绍 MySQL主从又叫做Replication.AB复制.简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步.MySQL主从是基于binlog的,主上须开启binlog才能进行主从. 主从过程: 需要保持数据的一致性,才能复制数据 1.主服务器将更改操作记录到binlog中 2.从服务器将主服务器的binlog事件(SQL语句)同步到本机(从服务器)并记录在relaylog(中继日志)中 3.从服务器根据relaylog里面的SQL语句按顺

17.1 MySQL主从介绍17.2 准备工作17.3 配置主17.4 配置从17.5 测试主从同步

- 17.1 MySQL主从介绍 - 17.2 准备工作 - 17.3 配置主 - 17.4 配置从 - 17.5 测试主从同步 # 17.1 MySQL主从介绍 -  MySQL主从又叫做Replication.AB复制.简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 -  MySQL主从是基于binlog的,主上须开启binlog才能进行主从.bilog,是二进制文件,无法cat -  主从过程大致有3个步骤 1. 主将更改操作记录到binlog

MySQL主从配置:主从介绍、配置主和从 、测试主从同步

MySQL主从介绍 (两台机器数据同步) 主:-->binlog 从:-->relaylog 主上有一个log dump线程,用来和从的I/O线程传递binlog 从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地(执行) 主从的应用场景: (1)做数据的备份,(主:作读写数据,从:实时同步,当 主 宕机时,从 也可以即使提供服务 ) (2)也是做备份.(客户从 从 这台机器上读取数据(但是不能再从上写),

MySQL的主从介绍、配置主、配置从、测试主从同步

MySQL的主从介绍 配置主 配置从 测试主从同步 主从配置的常见故障 1.网络原因:查看网络是否正常,SELinux是否关闭,iptables是否关闭2.账号密码不对:粗心大意,用户名与密码输错3.POS值不对:show maste status:4.克隆机器以及复制mysql都会出现UUID的问题,更改UUID即可 原文地址:http://blog.51cto.com/13515599/2095025

17.1 MySQL主从介绍;17.2 准备工作;17.3 配置主;17.4 配置从;17.5 测试主从同步

17.1 MySQL主从介绍 1. MySQL主从又叫做Replication.AB复制.简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 2. MySQL主从是基于binlog的,主上须开启binlog才能进行主从. 3. 主从过程大致有3个步骤 1)主将更改操作记录到binlog里 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里 3)从根据relaylog里面的sql语句按顺序执行 4. 主上有一个log dum

17.1 MySQL主从介绍 17.2 准备工作 17.3 配置主 17.4 配置从 17.5 测试

17.1 MySQL主从介绍 17.2 准备工作 17.3 配置主 17.4 配置从 17.5 测试主从同步 原文地址:http://blog.51cto.com/13227377/2141755

8.31 MySQL主从配置、准备工作、配置主、配置从、测试主从同步

1.MySQL主从配置  MySQL主从又叫做Replication.AB复制.简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据是实时同步的 MySQL主从是基于binlog的,主上须开启binlog才能进行主从. 主从过程大致有3个步骤 1)主将更改操作记录到binlog里 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里 3)从根据relaylog里面的sql语句按顺序执行 主上有一个log dump线程,用来和从的I/O线

MySQL主从(介绍,配置主机,配置从机,测试主从同步)

一.介绍及准备工作 1.介绍 MySQL主从配置又叫Replication或者AB复制,简单讲就是A和B两台机器做主从后,在A上写数据,另一台B也会跟着写数据,两台数据实时同步. MySQL主从是基于binlog的,主上须开启binlog才能进行主从. 主从过程大致有3个步骤 主将更改操作记录到Binlog里 从将主的Binlog事件(sql语句)同步到从本机上并记录在relaylog里 从根据relaylog里面的sql语句按顺序执行 主上有一个logdump线程,用来和从的i/o线程传递bi