LNMP之Mysql主从复制(四)

查询系统是否有安装mysql,如有则移除。

rpm -qa | grep mysql

移除已安装的mysql:

yum remove mysql-libs-5.1.66-2.el6_3.x86_64

安装需要的插件:

yum install perl perl-devel libaio libaio-devel

安装MySQL-shared-compat 替换mysql-libs,如果不替换,在删除mysql-libs,会提示postfix依赖于mysql-libs

rpm -ivh MySQL-shared-compat-5.6.26-1.el6.x86_64.rpm

安装服务端:

rpm -ivh MySQL-server-5.6.26-1.el6.x86_64.rpm

安装客户端:

rpm -ivh MySQL-client-5.6.26-1.el6.x86_64.rpm

启动mysql:

service mysql start

停止mysql:

service mysql stop

获取root的密码:
more /root/.mysql_secret

修改root密码并删除匿名账户:

/usr/bin/mysql_secure_installation--user=mysql

修改主服务器配置文件my.cnf:

#唯一性,不能重复
server-id = 1
#二进制日志文件
log-bin=mysql-bin
 
#二进制格式改为行row模式,三种模式statement语句模式,row行模式,mixed混合模式
#当设置隔离级别为READ-COMMITED必须设置二进制日志格式为ROW
#现在MySQL官方认为STATEMENT这个已经不再适合继续使用;但mixed类型在默认的事务隔离级别下,可能会导致主从数据不一致;
binlog_format=row

#slave更新是否记入日志
log-slave-updates=true
#启用gtid类型,否则就是普通的复制架构       
gtid-mode=on
#强制GTID的一致性                  
enforce-gtid-consistency=true
#主服信息记录库=表或文件    
master-info-repository=TABLE
#中继日志信息记录库     
relay-log-info-repository=TABLE  
#同步主库信息
sync-master-info=1
# 开启基于库的多线程复制.默认是0,不开启,最大并发数为1024个线程        
slave-parallel-workers=4
#校验码            
binlog-checksum=CRC32
#主服校验            
master-verify-checksum=1
#从服校验          
slave-sql-verify-checksum=1
#二进制日志详细记录事件       
binlog-rows-query-log_events=1
#提供复制报告端口    
report-port=3306
# 提供复制报告主机               
report-host=192.168.2.61

# 以下是对二进制日志一些设置  
binlog_cache_size = 4M  
max_binlog_size = 1G  
max_binlog_cache_size = 2G

# 启用这个参数,可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度  
# 只对row binlog格式有效.启用后,会向binlog中写入更多的调试信息,比如sql语句自身都会被写进去. mysqlbinlog -vv 可以看到.  
binlog-rows-query-log_events=1

# 这两个是启用relaylog的自动修复功能,避免由于网络之类的外因造成日志损坏,主从停止.  
relay_log_purge = 1  
relay_log_recovery = 1 

修改从服务器配置文件my.cnf:

server-id = 2
log-bin=mysql-bin
binlog_format=row
log-slave-updates=true         
gtid-mode=on   
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=4
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1

binlog_cache_size = 4M  
max_binlog_size = 1G  
max_binlog_cache_size = 2G
binlog-rows-query-log_events=1
relay_log_purge = 1  
relay_log_recovery = 1

report-port=3306
report-host=192.168.2.63

进入mysql:

mysql -u root –p

创建复制账户并授权:

grant replication slave on *.* to ‘mysql‘@‘192.168.2.%‘identified by ‘mysql‘;

flush privileges;   #重加载权限

从库连接主库:

change master to master_host=‘192.168.2.61‘,master_user=‘mysql‘,master_password=‘mysql‘, master_port=3306,master_auto_position=1;

start slave;

查看状态:

show global variables like ‘%uuid%

show processlist;

show databases;

show slave status\G;

show master status\G;

时间: 2024-10-26 09:21:20

LNMP之Mysql主从复制(四)的相关文章

基于Centos 7搭建MySQL主从复制及读写分离

博文目录一.MySQL主从复制原理二.MySQL读写分离原理三.搭建MySQL主从复制四.配置MySQL读写分离 在实际生产环境中,如果对数据库的读和写都在同一个数据库服务器中操作,无论是在安全性.高可用性还是高并发等各个方面都是完全不能满足实际需求的.因此,一般来说实际生产环境中都是通过主从复制(Master--Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力这样的方案来进行部署与实施的. 如下图所示,一台MySQL主服务器带两台MySQL从服务器做数据复制,前端应用在进

linux笔记 第四十课 mysql主从复制

1.MYSQL复制的基础概念 2.MYSQL复制的实现 3.MYSQL复制架构及双主模型演示 4.MYSQL复制监控/常见问题及解决方案 5.MariaDB  GTID及多源复制 6.MariaDB  GTID读写分离及mysql-proxy的使用 一.MySQL主从复制的基础知识 二.MySQL主从复制实现(以mariadb 5.5.36为例) 实验环境:主服务器(node1)172.16.100.7 从服务器(node2)172.168.100.8 软件:mariadb-5.5.36-lin

Linux下Mysql主从复制

一.前言:为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主数据库的负载.而且如果主数据库宕机,可快速将业务系统切换到从数据库上,可避免数据丢失. 二.MySQL主从复制(读写分离)和集群的区别:我对MySQL也是刚开始研究,不是很专业.我的理解是:1.主从复制(读写分离):一般需要两台及以上数据库服务器即可(一台用于写入数据,一台用于同步主的数据并用

MySQL主从复制、读写分离、高可用集群搭建

MySQL主从复制.读写分离.高可用集群搭建  一.服务介绍   1.1 Keepalived     Keepalived,见名知意,即保持存活,其目的是解决单点故障,当一台服务器宕机或者故障时自动切换到其他的服务器中.Keepalived是基于VRRP协议实现的.VRRP协议是用于实现路由器冗余的协议,VRRP协议将两台或多台路由器设备虚拟成虚拟设备,可以对外提供虚拟路由器IP(一个或多个),即漂移IP(VIP). 1.2 ProxySQL ProxySQL是一个高性能,高可用性的MySQL

Mysql主从复制排错案例一

MYSQL主从复制排错案例一: 问题:主从无法同步现象:MASTER: mysql> show master status;              Empty set (0.00 sec)      SLAVE:  mysql> show slave status \G;              Slave_IO_Running: Connecting              Slave_SQL_Running: Yes              Seconds_Behind_Mast

160525、高并发之mysql主从复制(linux)

第一步:新建两台linux主机(我这里是使用虚拟机,linux版本是CentOS-6.3-x86_64-bin-DVD1.iso,注意:我下载的是dvd1,如果其他版本默认安装可能会自动还原) 第二步:每台机器都安装一台mysql并配置.前面已经介绍过,这里就不介绍了. 第三步:(主从复制) 1)vim /etc/my.cnf 在[mysqld]后面添加以下两行:(server-id不同机器上面的mysql不能一样) server-id=1 log-bin=mysql-bin 2) 接下来确认s

MySQL主从复制原理及配置详细过程以及主从复制集群自动化部署的实现

Technorati 标签: 那你魔鬼 一.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读

mysql主从复制以及读写分离

mysql的主从复制以及读写分离 前言:我们前面搭建过LAMP和LNMP,做过了web服务器群集和热备,web服务器坏了我们是不怕了,但是我们要知道,网站的数据有很多是存储在数据库里面的,例如注册的会员,发的文章,购物的订单等信息.当然我们可以给数据库做备份,但是如果每天00:00做一次备份,那么如果在23:59数据丢失了,那么就会丢失一天的数据,有没有一种方法能实现实时备份,就是说有数据产生就立即备份,答案当然是有,也就是今天我们要学习的mysql主从复制.有点类似于前面我们学习过的rsync

高可用架构篇--MyCat在MySQL主从复制基础上实现读写分离

点击链接加入群[Dubbo技术交流2群]:https://jq.qq.com/?_wv=1027&k=46DcDFI 一.环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso JDK版本:jdk1.7.0_45 MyCat版本:Mycat-server-1.4-release-20151019230038-linux.tar.gz MyCat节点IP:192.168.1.203      主机名:edu-mycat-01  主机配置:4核CPU.4G内存 MySQL版本: