mysql5.6版本-主从复制配置详细步骤
2016-04-27 09:09
686 查看
准备工作:
在两台服务器上安装同版本mysql数据库;
确保mysql主从服务器之间的数据库端口防火墙互相打开;
确保主从数据库账户一致性(主从切换使用),否则将操作失败;
确保mysql账户对mysql数据库目录有“可读写”权限非“可写”权限chown-Rmysql:mysql/path,
确保不出意外,最好删除mysql之前陈旧的mysql-bin、mysql日志,然后重启mysql;
查看版本:mysql>status\G;
+------------------+----------+--------------+------------------+
|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|
+------------------+----------+--------------+------------------+
|mysql-bin.000001|120|||
+------------------+----------+--------------+------------------+
1rowinset(0.00sec)
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
如果需要修改:
1.Slave:stop
slave;
2.Master:flushlogs
3.Master:showmasterstatus;
—takenoteofthemasterlogfileandmasterlogposition
4.Slave:CHANGEMASTERTOMASTER_LOG_FILE=’log-bin.00000X′,
MASTER_LOG_POS=106;
5.Slave:start
slave;
修改完了一定记得要启动startslave,否则用show的时候看到的是旧的配置
***************************1.row***************************
……………………(省略部分)
Slave_IO_Running:Yes//此状态必须YES
Slave_SQL_Running:Yes//此状态必须YES
……………………(省略部分)
注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成。
http://www.2cto.com/database/201404/295950.html主要参考
http://www.linuxidc.com/Linux/2014-06/103752.htm5.6版本
/article/5828849.html清晰但版本过老,my.cnf已经不能写入master信息了
/article/6645015.html5.5版本
/article/1240897.html复制原理详细
在两台服务器上安装同版本mysql数据库;
确保mysql主从服务器之间的数据库端口防火墙互相打开;
确保主从数据库账户一致性(主从切换使用),否则将操作失败;
确保mysql账户对my
确保不出意外,最好删除
查看版本:mysql>status\G;
一、在主库创建用户
mysql>createuserbackup;//创建新用户
mysql>GRANTREPLICATIONSLAVEON*.*TO'backup'@'192.168.76.%'IDENTIFIEDBY'mysql';//repl用户必须具有REPLICATIONSLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
二、修改主数据库的配置文件/etc/my.cnf(其他参数保持,以下为新增)
[mysqld]
server-id=1//[必须]默认是1,一般取IP最后一段
log-bin=mysql-bin.log//[主从必须]启用二进制日志,默认在mysql路径下
sync_binlog=1//为了保证事务InnoDB复制设置的最大可能的耐受性和一致性,应在主服务器使用
innodb_flush_log_at_trx_commit=1//同上
三、修改从数据库的配置文件/etc/my.cnf
[mysqld]
port=3306
server-id=2//从库配置编号
bing-address=0.0.0.0//[可选]意思是允许所有机器服务器安全起见可设置为指定的服务器IP地址如116.128.1.10等
log-bin=mysql-bin.log//[主从必须]启用二进制日志,默认在mysql路径下
binlog-do-db=new_test(要记录的数据库,多个可换行多次设置)
replicate-do-db=new_test(要复制的数据库,多个可换行过个设置)
binlog-ignore-db=mysql//不对mysql库进行日志记录操作如下意思雷同
binlog-ignore-db=test
replicate-ignore-db=test//不对test进行复制操作如下意思雷同
replicate-ignore-db=mysql
binlog-ignore-db=mysql//不对mysql库进行日志记录操作如下意思雷同
binlog-ignore-db=test
replicate-ignore-db=test//不对test进行复制操作如下意思雷同
replicate-ignore-db=mysql
四、重启两台服务器的mysql
servicemysqlrestart五、登录主服务器的mysql,查询master的状态(可在phpmyadmin中执行次操作)
mysql>showmasterstatus;+------------------+----------+--------------+------------------+
|File|Position|Binlog_Do_DB|Binlog_Ignore_DB|
+------------------+----------+--------------+------------------+
|mysql-bin.000001|120|||
+------------------+----------+--------------+------------------+
1rowinset(0.00sec)
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
六、配置从服务器Slave(5.1以后的版本不支持在my.cnf中配置主库信息了,如下用命令配置):
mysql>changemastertomaster_host='xx.xx.xx.xx',master_port=3306,master_user='backup',master_password='yourpasswd',master_log_file='mysql-bin.000001',master_log_pos=120//注意不要断开,master_port为mysql服务器端口号(无引号),master_user为执行同步操作的数据库账户,“120”无单引号(此处的120就是showmasterstatus中看到的position的值,这里的mysql-bin.000001就是file对应的值)。(此处可在从服务器phpmyadmin中用sql语句操作)
Mysql>startslave;//启动从服务器复制功能(可在phpmyadmin中执行该SQL语句)
如果需要修改:
1.Slave:stop
slave;
2.Master:flushlogs
3.Master:showmasterstatus;
—takenoteofthemasterlogfileandmasterlogposition
4.Slave:CHANGEMASTERTOMASTER_LOG_FILE=’log-bin.00000X′,
MASTER_LOG_POS=106;
5.Slave:start
slave;
修改完了一定记得要启动startslave,否则用show的时候看到的是旧的配置
七、检查从服务器复制功能状态:
mysql>showslavestatus\G(可在从服务器phpmyadmin中执行“showslavestatus”SQL语句)***************************1.row***************************
……………………(省略部分)
Slave_IO_Running:Yes//此状态必须YES
Slave_SQL_Running:Yes//此状态必须YES
……………………(省略部分)
注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成。
八、测试是否正常复制,在主库创建文件,从库更新
Refs:相关文章推荐
- Mysql+hibernate 长时间不操作再进入,导致连接池关闭的问题解决。
- 学会用各种姿势备份MySQL数据库
- mysql如何查看未使用的索引
- install MySQLdb
- mysql小知识笔记
- MySQL排序原理与MySQL5.6案例分析【转】
- MySQL5.7.10解压版详细安装教程
- MySQL——MySQL的数据类型
- 安装mysql
- Corosync+Pacemaker+MySQL+DRBD(一)
- Mysql 数据库备份
- Mysql外键约束foreign key
- MySql查询 SELECT
- mysql is marked as crashed and should be repaired
- mysql left join错误写法
- MySQL 命令大全
- Mysql5.6配置文件详解
- mysql连接字符串
- Mysql cluster初学
- mysql修改表或者数据库的总结