假设:
主服务器 -> 192.168.1.110
从服务器 -> 192.168.1.111
1.配置主服务器Master
A) 修改主服务器配置文件
vim /etc/my.cnf log-bin=mysql-bin #[必须]启用二进制日志 server-id=1 #[必须]服务器唯一ID sync_binlog=1 #经过1日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同步)。n=1是最安全的做法,但效率最低。默认设置是n=0。 #保存后,重启数据库 service mysqld restart
B) 在主服务器上建立帐户并授权slave
mysql>GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by '123456'; //此处可用具体客户端IP代替,如192.168.1.111,加强安全。 mysql>flush privileges;
C) 将主服务器的MYSQL数据进行备份
mysqldump -u root -p666666 test -l -F > /home/wangkun/test.sql #加读锁方式的导出,防止在导出过程中,有人对数据库进行修改,导致不一致性。
D) 查看MASTER状态
mysql>show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000004 | 308 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) 注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
2.配置从服务器Slave
A) 修改从服务器配置文件
vim /etc/my.cnf server-id=2 #[必须]服务器唯一ID #保存后,重启数据库 service mysqld restart
B) 配置从服务器Slave
mysql>change master to master_host='192.168.1.110',master_user='backup',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=308; mysql>start slave; #启动从服务器复制功能
C) 检查从服务器复制功能状态
mysql> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.2.222 //主服务器地址 Master_User: mysync //授权帐户名,尽量避免使用root Master_Port: 3306 //数据库端口,部分版本没有此行 Connect_Retry: 60 Master_Log_File: mysql-bin.000004 Read_Master_Log_Pos: 600 //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos Relay_Log_File: ddte-relay-bin.000003 Relay_Log_Pos: 251 Relay_Master_Log_File: mysql-bin.000004 Slave_IO_Running: Yes //此状态必须YES Slave_SQL_Running: Yes //此状态必须YES ...... 注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成,可以开始测试了。
在主服务器上插入一条数据,就可以看看从服务器的数据库是否已更新就OK了。
主从复制同步问题
在这里由于我的数据库是5.5版本,一般用MYSQL主从复制,会存在复制过程中一定延时的情况,高峰值的情况下,有时候会达到20分钟甚至更高。
怎么解决同步的问题呢?
两种解决办法:
1.将MYSQL升级到5.7,因为5.7+的MYSQL已经彻底解决同步问题。
可参考 http://www.kancloud.cn/thinkphp/mysql-parallel-applier
2.程序上进行控制,在写入数据库的同时写缓存,数据先从缓存读再读数据库。
怎么解决同步的问题呢?
两种解决办法:
1.将MYSQL升级到5.7,因为5.7+的MYSQL已经彻底解决同步问题。
可参考 http://www.kancloud.cn/thinkphp/mysql-parallel-applier
2.程序上进行控制,在写入数据库的同时写缓存,数据先从缓存读再读数据库。
相关推荐
资源整理 一、rpm方式安装MySQL 1 ...2、atlas+mysql读写分离没有生效,一直使用主库进行操作 13 3、MySQL主从同步常见异常及恢复方法 13 4、MySQL表被锁 14 5、MySQL启动报错 15 五、常用命令 15
centos 6.5配置mysql5.5
CentOS6.5 一键安装 Mysql5.6 包含安装包
如何升级CentOS 6.5下的MySQL
主要介绍了CentOS服务器平台搭建mysql主从复制与读写分离的方法,结合实例形式较为详细的分析了CentOS平台搭建mysql主从复制与读写分离的步骤、设置方法、相关操作技巧与注意事项,需要的朋友可以参考下
CentOS6.5下的时间同步ntpdate安装,跟其他服务器时间保持一致
Centos6.5下安装Oracle 11g.docxCentos6.5下安装Oracle 11g.docx
Centos6.5镜像文件 Linux。。
Centos6.5下安装Mysql5.7+的脚本及安装手册。 安装包需要从网上下载,我测试的安装包为mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz,500多M,上传不了。注意:必须是二进制安装版的,不能是rpm或源码版的。 经我测试...
E3:用mysql安装包在CentOS6.5系统下安装和配置mysql.docx
CentOs7下mysql5.7的下载安装以及主从同步、双主多从配置详情
centos 6.5 telnet 客户端 安装文件 rpm包 centos 6.5 telnet 服务端 安装文件 rpm包 http://vault.centos.org/6.5/os/x86_64/Packages/ 从官网下载亲测可以用
CentOS6.5的64位镜像文件iso。CentOS是基于linux内核而扩展的操作系统。
讲解centos上安装mysql的操作过程,主要为操作过程中执行的相关配置,方便大家查看使用,如果有错误之处,还请大家留意指正。
CentOS6.5下YUM安装最新MySQL5.7.12
CentOS 6.5 的 软件源很多官方已经停止维护,该文件包内配置好的yum源是可以正常使用的。将原/etc/yum.repos.d/目录下原来的 .repo 备份, 然后把本文件包内的repo文件复制过去, yum clean all 后,再 yum ...
CentOS7安装mysql5.7.19 & mysql5.7.19主从配置(CentOS7)
Linux centos 6.5 官网版本Bt下载种子