Mysql实现企业级数据库主从复制架构
来源:互联网 发布:网络信息安全前景 编辑:程序博客网 时间:2024/05/28 23:21
一、环境准备:
centos系统服务器2台、一台用户做Mysql主服务器,一台用于做Mysql从服务器,配置好yum源、防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信。
二、准备步骤:
1、iptables -F && setenforce 清空防火墙策略,关闭selinux;
2、拿两台服务器都使用yum方式安装Mysql服务,要求版本一致;
3、分别启动两台服务器mysql服务,确保服务正常;
三、实现步骤:
1、配置master主服务器:对master进行配置,包括打开二进制日志,指定唯一的servr ID。例如,在配置文件加入如下值:
server-id=1 #配置server-id,让主服务器有唯一ID
注意:可以使用mysqlbinlog bin_log.00000*查看server-id;
log-bin=mysql-bin #打开Mysql日志,日志格式为二进制
skip-name-resolve #关闭名称解析,(非必须)
注意:mysql的配置中"-"、"_"含义一样。
2、创建复制帐号:在Master的数据库中建立一个备份帐户:每个slave使用标准的MySQL用户名和密码连接master 。进行复制操作的用户会授予REPLICATION SLAVE权限。
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TOslave@'192.168.%.%' IDENTIFIED BY 'magedu';
REPLICATION SLAVE:REPLICATIONSLAVE则是一个必须而基本的权限,它直接授予slave服务器以该账户连接master后可以执行replicate操作的权利。(replication)复制;
REPLICATION CLIENT:使得用户可以使用SHOWMASTER STATUS和SHOW SLAVE STATUS命令,也就是说这个权限是用于授予账户监视Replication状况的权力。
注意:replication slave和replication client两个权限一般同时复制,一方面可以使用同一账户对Replication进行监视管理会很方便,不必区分slave,master,另一方面,slave账户在 slave和master上的配制是一样的,这样如果我们切换slave和master,账户不需要做任何改动。
3、查看主服务器状态:在Master的数据库执行showmaster status;,查看主服务器二进制日志状态。
4、配置slave从服务器:对slave进行配置,打开中继日志,指定唯一的servr ID,设置只读权限。在配置文件加入如下值:
server-id=2 #配置server-id,让从服务器有唯一ID号
relay_log = mysql-relay-bin #打开Mysql日志,日志格式为二进制
read_only = 1 #设置slave机器只有只读权限
注意:该配置对于slave端的管理员账户是无效的。
log_bin = mysql-bin #开启从服务器二进制日志
log_slave_updates = 1 #使得更新的数据写进二进制日志中
5、启动从服务器复制线程:让slave连接master,并开始重做master二进制日志中的事件。
CHANGE MASTER TOMASTER_HOST='192.168.109.8',
MASTER_USER='slave',
MASTER_PASSWORD='magedu',
MASTER_LOG_FILE='mysql-bin.000007',
MASTER_LOG_POS=278;
执行start slave; # 启动复制线程。
注意:配置信息,前后一定要对应。
注意:一定要在slave端执行'start slave;'命令,开启IO线程。
6、查看从服务器状态:可使用SHOW SLAVE STATUS\G;查看从服务器状态,如下所示,也可用show processlist \G;查看当前复制状态:
Slave_IO_Running:Yes #IO线程正常运行
Slave_SQL_Running:Yes #SQL线程正常运行
四、添加新slave服务器:
假如master已经运行很久了,想对新安装的slave进行数据同步,甚至它没有master的数据。此时,有几种方法可以使slave从另一个服务开始,例如,从master拷贝数据,从另一个slave克隆,从最近的备份开始一个slave。为了加快Slave与master同步,可用以下方式先进行数据同步:
(1)、master的某个时刻的数据快照;
(2)、数据库的备份数据;
(3)、master的二进制日志文件;
注意:如果对slave端的机器加read锁的话,便会失去主从备份功能,所以对于mysql-backup,慎用。
注意:如果slave端CHANGE MASTER TOMASTER_HOST='192.168.109.8',MASTER_USER='slave', MASTER_PASSWORD='magedu',MASTER_LOG_FILE='mysql-bin.000007', MASTER_LOG_POS=278;命令错误,会出现无法同步数据的情况:
注意:主从数据库的时候,一定要保证主机的时间一致;
- Mysql实现企业级数据库主从复制架构
- Mysql实现企业级数据库主从复制架构实战
- Mysql实现企业级数据库主从复制架构实战
- MySQL企业级主从复制
- MySQL 数据库主从复制架构
- MySQL 数据库主从复制架构
- MySQL 数据库主从复制架构
- MySQL 数据库主从复制架构
- mysql数据库实现主从复制
- mysql主从复制架构
- MySQL主从复制架构
- mysql主从复制实现数据库同步
- mysql主从复制实现数据库同步
- mysql主从复制实现数据库同步
- mysql主从复制实现数据库同步
- mysql主从复制实现数据库同步
- Mysql 主从数据库复制
- mysql主从数据库复制
- Listener监听器
- 应用内图标和应用图标右上角提示
- JVM学习--Java栈
- 实现一个函数,判断一个数是不是素数
- fiddler对浏览器、app抓包及证书安装
- Mysql实现企业级数据库主从复制架构
- Unity基础,添加声音
- 对象序列化和反序列化
- 变量、数据类型和运算符
- jquery操作——事件相关知识(增加、删除、查看、编辑等)
- SpringMVC国际化的三种配置
- Scikit-learn——SVM
- csdn博客积分获得方法
- Cookie Session机制