MySQL主从拜别,mysql主从笔记

属性更加好的新服务器申请下来了,大家决定在2台新服务器上运用mysql5.7,况兼使用基本同步、读写抽离架构,非常不幸那些职责落到了本人的头上。读写分离是在业务代码中完毕的,在这里不做详述,介绍一下本身搭建MySQL主从的长河。

MySQL主从送别

mysql主从复制笔记,mysql主从笔记

后生可畏:测量试验情形介绍

       主从复制测量试验景况是ubuntu mysql5.7,master服务器ip是192.168.71.135,slave服务器ip是192.168.71.137,ubuntu碰着是从风流罗曼蒂克台已安插好条件的服务器克隆的。

二:mysql主从安顿

1:)  master配置

a 在mysql 目录下(/etc/mysql卡塔尔国,mysql.cnf文件中增多server-id和Log-bin.主从服务器的server-id不能够平等

log-bin=mysql-bin

server-id=100

图片 1

设置好后,使用show master status;查询一下情景

图片 2

安装从服务器连接的账号,密码等

布置连接顾客

GRANT REPLICATION SLAVE ON *.* to 'mysql账号'@'%' identified by '密码';这里是测量检验,未有一点点名从服务器的ip.如需点名ip,施行上面一个指令

GRANT REPLICATION SLAVE ON *.* to 'mysql账号'@'192.168.71.137' identified by '密码';

配置好后记录重启mysql.

2:)配置从数据库

2.1  Slave的配置与master相符(配置文件名称:mysql.cnf,在/etc/mysql目录,你的境况只怕不是该目录),你安顿完结后依然需求重启slave的MySQL。配置参数如下:
log_bin= mysql-bin
server_id= 110
relay_log=mysql-relay-bin
log_slave_updates=1
read_only=1
server_id是必得的,并且唯生机勃勃。slave未有供给开启二进制日志,不过在部分状态下,必需设置,举例,倘若slave为任何slave的master,必需设置bin_log。在那,大家张开了二进制日志,并且展现的命名(私下认可名称叫hostname,不过,假设hostname改换则会产出难点)。
relay_log配置中继日志,log_slave_updates表示slave将复制事件写进自身的二进制日志(后边探问到它的用项)。
稍稍人展开了slave的二进制日志,却从不设置log_slave_updates,然后查看slave的多少是或不是变动,那是大器晚成种错误的布署。所以,尽量选拔read_only,它幸免更换多少(除了特殊的线程)。不过,read_only并是很实用,特别是这么些急需在slave上成立表的运用。

 

2.2  配置实现后再行起动mysql

/etc/init.d/mysql restart

2.3   实行一同SQL语句

mysql> change master to
master_host=’192.168.71.135’,
master_user=’syncuser’,
master_password=’123456’,
master_log_file=’mysql-bin.000001’, -- 该值来源于主库,试行show master status 后的File字段
master_log_pos=443;
-- 该值来源于主库,施行show master status 后的position字段**

2.4 查询从库状态

start slave;

show slave statusG

图片 3

 

 三:主库SQL测试

主库创制数据库:

Create database copytest;

创建表:

Create table tu (uid bigint primary key);

增添一条数据

Insert into tu (1);

今昔大家来看从数据库:

图片 4

从图中得以观察,主库的数量,已经复制到了从库。

五:总计难点

1:推行一同语句,出错

mysql> change master to
master_host=’192.168.71.135’,
master_user=’syncuser’,
master_password=’123456’,
master_log_file=’mysql-bin.000001’,
master_log_pos=443;

现身如下错误:

Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave. Additional error messages can be found in the MySQL error log.

消除办法:

删除slave的mysql库的表

drop table slave_master_info;
drop table slave_relay_log_info;
drop table slave_worker_info;
drop table innodb_index_stats;
drop table innodb_table_stats;

重复开动slave数据库:/etc/init.d/mysql restart;

2:配置好的,slave实践show slave statusG语句后,slave_io_running: no显示no

slave_io_running: yes技艺健康复制,为no时不恐怕复制,能够见到有多少个荒唐,

Last_IO_Error: 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.

意思是master和slave的uuid重复了,用show variables like '%server_uuid%'查询出uuid,显著两台机子的uuid同样,所以现身了地点的错误.

图片 5

因为基本的utunbu情状是仿制的,所以现身了这几个难点,大家进去mysql的data 目录,改过auto.cnf文件,通过show variables like '

本文由星彩网app下载发布于星彩彩票app下载,转载请注明出处:MySQL主从拜别,mysql主从笔记

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。