ubuntu12.04(64位)中mysql5.6.28(64位)主从复制
来源:互联网 发布:字母logo在线设计软件 编辑:程序博客网 时间:2024/06/16 18:38
1.配置master主服务器
在主服务器上创建一个用户‘repl’,并允许其他slave服务器可以通过远程访问master,通过该用户读取二进制日志,实现数据同步。
use mysql;
create user repl; //创建新用户
grant all privileges on *.* to 'repl'@'%' identified by 'mysql' with grant option; //可供远程客户端工具连接
FLUSH PRIVILEGES;
//repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。
//这里%是通配符,表示任何slave服务器的server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
grant replication slave on *.* to 'repl'@'%' identified by 'mysql';
FLUSH PRIVILEGES;
2.修改主服务器master
#vim /usr/local/mysql/my.cnf
[mysqld]
server-id=131 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
log-bin=master-bin //[必须]启用二进制日志
log-bin-index=master-bin.index
3.查看日志
show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 | 120 | | | |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
重启MySQL服务
4.修改从服务器slave
#vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-bin=master-bin //[不是必须]启用二进制日志
server-id=132 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
重启MySQL服务
//master_host: 主服务器ip
//master_user: 第1部中创建的用户名
//master_password: 第1部中创建的密码
//master_log_file: 主服务器产生的日志,第3部中查询的File
//master_log_pos: 第3部中查询的Position
6.开启slave
start slave;
7.检查从服务器复制功能状态
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
......
在主服务器上创建一个用户‘repl’,并允许其他slave服务器可以通过远程访问master,通过该用户读取二进制日志,实现数据同步。
use mysql;
create user repl; //创建新用户
grant all privileges on *.* to 'repl'@'%' identified by 'mysql' with grant option; //可供远程客户端工具连接
FLUSH PRIVILEGES;
//repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。
//这里%是通配符,表示任何slave服务器的server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
grant replication slave on *.* to 'repl'@'%' identified by 'mysql';
FLUSH PRIVILEGES;
2.修改主服务器master
#vim /usr/local/mysql/my.cnf
[mysqld]
server-id=131 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
log-bin=master-bin //[必须]启用二进制日志
log-bin-index=master-bin.index
3.查看日志
show master status;
+-------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| master-bin.000001 | 120 | | | |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
重启MySQL服务
4.修改从服务器slave
#vi /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-bin=master-bin //[不是必须]启用二进制日志
server-id=132 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
重启MySQL服务
5.slave连接master
//master_host: 主服务器ip
//master_user: 第1部中创建的用户名
//master_password: 第1部中创建的密码
//master_log_file: 主服务器产生的日志,第3部中查询的File
//master_log_pos: 第3部中查询的Position
6.开启slave
start slave;
7.检查从服务器复制功能状态
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均属错误)。
8.测试
在master 创建一个数据库product,然后在从服务器上查看product,若是存在说明,主从复制已经配置成功。
目前的配置master上只能负责写操作,slave上只能负责读操作,若是在slave上进行写操作,就会发生异常。
0 0
- ubuntu12.04(64位)中mysql5.6.28(64位)主从复制
- ubuntu12.04(64位)中以二进制文件(tar.gz)安装mysql5.6.28(64位)
- Ubuntu12.04 下安装QQ2012 32位以及64位
- 64位ubuntu12.04安装32位qq2012终…
- Ubuntu12.04 64位 安装32位运行库
- ubuntu12.04-64位 装toolchain出错
- win7 下装ubuntu12.04 64位
- Ubuntu12.04 64位安装Foxit Reader
- ubuntu12.04 64位安装jdk
- 在ubuntu12.04 64位安装RTX2012
- Ubuntu12.04 64位安装qq
- ubuntu12.04 64位安装 dynInst
- ubuntu12.04 64位下安装hackrf
- Windows10中安装mysql5.7.11 社区版64位
- 在64位ubuntu12.04中安装mjpg-streamer实现网络监控
- ubuntu12.04(64位)中qt安装mysql驱动插件注意事项
- Ubuntu12.04 64位中安装arm-linux-gcc的过程
- ubuntu12.04 64位 配置android开发环境
- IE下Ajax缓存问题的快速解决方法(g…
- ecshop transport.js和…
- Java 实现基于 UDP 的简单 socket 通信
- 加盐hash保存密码的正确方式
- 浅谈PHP中IP与整型互相转换
- ubuntu12.04(64位)中mysql5.6.28(64位)主从复制
- js倒计时和js时钟
- mysql 更新表中字段值…
- 字符编码笔记:ASCII,Unicode和UT…
- openBSD系统忘记密码怎么办
- FreeBSD文件编辑vi指令大全
- javascript console函数详解js开…
- firefox插件Firebug的使用教程
- FireFox使用Firebug进行断点调试图…