【备忘】mysql主从设置

主(master)192.168.1.10机器设置:

[[email protected] mysql]# vi my.cnf

[mysqld]节点下添加以下配置
server-id=1
log-bin=mysql-bin #这个一定得设置,否则没有日志的话,从数据库上会报错

[[email protected] mysql]# /etc/init.d/mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[[email protected] mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.28-log Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

给从库账号授权
mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO [email protected]‘192.168.1.11‘ IDENTIFIED BY ‘123456‘;
Query OK, 0 rows affected (0.03 sec)

mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 346 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

mysql>

从(master)192.168.1.11机器设置:
[[email protected] mysql]# vi my.cnf

[mysqld]节点下添加以下配置
log-bin = mysql-bin
server_id = 2

重启
[[email protected] mysql]# /etc/init.d/mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!

配置master信息
mysql> CHANGE MASTER TO MASTER_HOST=‘192.168.1.10‘, MASTER_USER=‘backup‘, MASTER_PASSWORD=‘123456‘, MASTER_PORT=3306, MASTER_LOG_FILE=‘mysql-bin.000001‘, MASTER_LOG_POS=106,MASTER_CONNECT_RETRY=10;
Query OK, 0 rows affected, 2 warnings (0.04 sec)

mysql> start slave;
Query OK, 0 rows affected (0.03 sec)

可以查看slave的状态
mysql> show slave status;

发现报错了:
Got fatal error 1236 from master when reading data from binary log: ‘log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the first event ‘mysql-bin.000001‘ at 106, the last event read from ‘./mysql-bin.000001‘ at 106, the last byte read from ‘./mysql-bin.000001‘ at 125.‘

将master机上的日志导出来
mysqlbinlog mysql-bin.000001 > test.txt

找到at的最后位置,然后修改上面的chang master语句 中的MASTER_LOG_POS=的值

mysql> change master to master_log_file=‘mysql-bin.000001‘,master_log_pos=1157;

然后发现简单主从配置已经实现(配置后续优化)

中间遇到的一个问题:
由于我是在vagrant上的环境,用的同一个.box文件,所以主从复制时造成uuid错误
Fatal error: 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版本如下
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.6.28, for Linux (x86_64) using EditLine wrapper
这种情况只需要将mysql的data目录下的auto.cnf中server-uuid值改成master和slave互相不一致即可
[auto]
server-uuid=89009021-fadf-11e5-b16d-0800274fb806

时间: 2024-10-11 08:44:50

【备忘】mysql主从设置的相关文章

源码安装mysql5.6.20&&mysql主从设置(多实例做多个主从)

一.源码安装mysql5.6.20 1.编译环境安装 yum install wget gcc* make openssl openssl-devel openssl-clients -y && yum groupinstall "Development Libraries" -y 2.源码下载(软件见Linux部署源码包) wget -P /usr/local/src/ http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.

(备忘)Eclipse设置:背景与字体大小和xml文件中字体大小调整

Eclipse中代码编辑背景颜色修改: 1.打开window / Preference,弹出Preference面板  2.展开General标签,选中Editors选项,展开.  3.选中 Text Editors,右边出现TestEditors面板. 面板中有这样一个选项:Appearance color options:其中是各种板块颜色的设置,其中有一项是background color,勾掉System Default,点击'color',弹出颜色选择面板,选择喜好的颜色,单击确定.

MySQL主从设置

MySQL主从介绍 MySQL主从又叫做AB负责:也就是A和B两个机器做主从后,在A上些数据,另外一台B也能跟着些数据,两者数据实时同步:MySQL主从是基于binlog的,主上必须开启binlog才能进行主从:应用场景:备份使用,只使用主机器,从机器备份,当主机器宕机,切换从机器正常访问:分流使用,但从机器无法写数据: 步骤为:A设置配置文件-A重启服务-A创建主从账号-锁定A的数据库写功能-备份A所有数据库-B设置配置文件-B重启服务-将A备份文件传到B机器上-B上创建与A一样的数据库并将数

mysql主主互备+原来mysql主从架构

接http://wsw26.blog.51cto.com/1442148/1749125我这个A已做了BC的主架构上增加一台D的虚拟机(同一个环境),我的目的是D和A主主互备,BC继续做A的从,既是D<-->A-->BC这样架构(类似级联的) 准备工作:(1)D的IP是192.168.0.190,A的IP是192.168.0.8,B的IP是192.168.0.140,C的IP是192.168.0.141(2)将A的mysql备份的sql通过scp传去D那里再从D那里新建对应的数据库名字后

centos7 mysql主从设置

已经装好了centos7和mysql,系统默认装多MariaDB 两个虚拟机ip 192.168.0.103 192.168.0.106 防火墙打开端口 permanent 参数表示永久修改 firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload 主库设置 mysql  -u root -p密码 进入mysql控制台,添加一个新的帐号,设定只有192.168.0段多ip才可以访问 创建tes

Mysql 主从设置

一.准备服务器 由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本. 我测试设置成功的服务器:主服务器(以下简称Master)的版本是3.23.58,从服务器(以下简称Slave)的版本是5.0.91,这个跨度应该算比较大了吧. Master主机名为:A(IP:192.168.0.1),Slave  主机名为:B(IP:192.168.0.2),2个M

Mysql主从,主从半同步,主主,mysql HA集群:Mysql-mha

简介:主从复制原理.机制 要实施复制,首先必须打开Master端的binary log(bin-log)功能,否则无法实现.因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全顺序的执行日志中所记录的各种操作. 复制的基本过程如下: 1).Slave上面的IO_thread连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容: 2).Master接收到来自Slave的IO_thread的请求后,通过负责复制的IO进程根据请求信息读取

LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor=50 worker.tomcat.cachesize=10 worker.tomcat.cache_timeout=600 worker.tomcat.socket_keepalive=1 worker.tomcat.socket_timeout=300 Linux内核优化: vi /etc/sysctl.conf   # 编辑sysctl.conf文件添加以下内容net.

使用Percona Toolkit解决Mysql主从不同步问题【备忘】

由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:binlog或者relay log数据损坏 数据不同步给应用带来的危害是致命的,当出现主从数据不一致的情况,常见的应对方法是先把从库下线,然后找个半夜三更的时间把应用停掉,重新执行同步,如果数据库的体积十分庞大,那工作量可想而知,会让人崩溃.本文介绍使用percona-toolkit工具对mysql主从