mysql 5.6.22 主备搭建
来源:互联网 发布:山东数据恢复 编辑:程序博客网 时间:2024/05/18 00:02
环境
mysql Ver 14.14 Distrib 5.6.22, for Linux (x86_64)
一、单向:主-->备【10.224.149.25(主) 10.224.149.26(备)】
注意 mysql 数据库的版本,两个数据库版本要相同,或者slave比master版本低!
1、在主服务器上创建一个复制用户,并给予replication slave权限
mysql> grant replication slave on *.* to slave@10.224.149.26 identified by 'slave';
//刷新权限,使配置生效
mysql> flush privileges;
2、在主服务器创建测试数据库
mysql>use test
mysql> create table user(id int(4),name varchar(20));
mysql> insert into user values(1,"mary");
mysql> insert into user values(2,"joe");
3、配置主服务器的my.cnf
// mysql客户端程序不要退出,在/etc/my.cnf配置文件中添加以下内容
log-bin=mysql-bin #启动二进制日志系统
log-bin = /data/mysqldb/log/mysql-bin.log #设定生成log的文件名和路径,目录需要给mysql用户权限
server-id=1 #本机数据库ID,标识为主服务器
binlog-do-db=test #二进制需要同步的数据库名
binlog-ignore-db=mysql,log #忽略同步的数据库名
// 创建更新日志的目录并给mysql用户的权限
mkdir -p /data/mysqldb/log/
chown -R mysql.mysql /data/mysqldb/log/
4、同步数据库dump
//执行FLUSH TABLES WITH READ LOCK语句清空所有表和块写入语句
mysql> FLUSH TABLES WITH READ LOCK;
在主服务器导出数据库, 并将本地需要同步数据库打包拷贝到从数据库上
mysqldump -h127.0.0.1 -p3306 -uroot -p test > /data/mysqldb/test.sql
//对主服务器进行解锁
mysql> UNLOCK TABLES;
//重启mysql服务
service mysqld restart
5、配置从服务器
// 配置slave服务器/etc/my.cnf文件,添加以下内容:
server-id=2
replicate-do-db =test
replicate-ignore-db=mysql,log
//将主服务器生成的dump文件拷贝到从服务器,并导入
mysql -uroot -p -Dtest < /data/mysqldb/test.sql
//重启mysql服务
service mysqld restart
6、启动主备同步
//在主服务器上获取binlog文件名和日志位
mysql> show master status\G
File: mysql-bin.000003
Position: 120
//在从服务器上动态更新主服务器信息
mysql> CHANGE MASTER TO
MASTER_HOST='10.224.149.25',
MASTER_USER='slave',
MASTER_PASSWORD='slave',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=120;
MASTER_HOST='10.224.149.25',
MASTER_USER='slave',
MASTER_PASSWORD='slave',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=120;
//启动slave线程
mysql> START SLAVE;
//验证slave状态
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
7、验证配置
//如果怀疑主从数据不一致,可以重复上面的dump拷贝导入,或者在从服务器执行命令同步
mysql> stop slave;
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=120;
// 根据上面主服务器的show master status的结 果,进行从服务器的二进制数据库记录回归, 达到同步的效果
mysql> start slave;
8、测试
在主服务器上对同步数据库进行表的创建和数据修改操作,观察从服务器是否正常同步
二、双主配置:主<-->主【10.224.149.25(原主) 10.224.149.26(原备)】
1、修改原slave服务器配置
// 配置原slave服务器/etc/my.cnf文件,添加红字内容:
server-id=2
replicate-do-db =test
replicate-ignore-db=mysql,log
log_bin = /data/mysqldb/log/mysql-bin.logbinlog-do-db =test
binlog-ignore-db =mysql,log
// 创建更新日志的目录并给mysql用户的权限
mkdir -p /data/mysqldb/log/
chown -R mysql.mysql /data/mysqldb/log/
2、重启mysql服务,创建同步帐号
service mysqld restart
mysql> grant replication slave on *.* to slave@10.224.149.25 identified by 'slave';
//刷新权限,使配置生效
mysql> flush privileges;
3、修改原master服务器配置
// 配置原master服务器/etc/my.cnf文件,添加红字内容:
log-bin=mysql-binlog-bin = /data/mysqldb/log/mysql-bin.log
server-id=1
binlog-do-db=test
binlog-ignore-db=mysql,log
replicate-do-db =test
replicate-ignore-db =mysql,log
//重启mysql服务
service mysqld restart
4、启动同步
//在原slave服务器上获取binlog文件名和日志位
mysql> show master status\G
File:mysql-bin.000002
Position: 410
//在原master服务器上动态更新主服务器信息
mysql> CHANGE MASTER TO
MASTER_HOST='10.224.149.26',
MASTER_USER='slave',
MASTER_PASSWORD='slave',
MASTER_PORT=3306,
MASTER_HOST='10.224.149.26',
MASTER_USER='slave',
MASTER_PASSWORD='slave',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=410;
MASTER_LOG_POS=410;
//启动slave线程
mysql> START SLAVE;
//验证slave状态
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
5、测试
在两台服务器上对同步数据库进行表的创建和数据修改操作,观察对端服务器是否正常同步
0 0
- mysql 5.6.22 主备搭建
- mysql主备复制搭建
- centos7搭建(mariadb)mysql搭建主备
- mysql 互为主备的简单搭建
- mysql主主搭建
- linux 搭建mysql-5.6
- MYSQL 5.7搭建备库
- Mysql双机热备搭建
- mysql-主主搭建mm
- MySQL 5.6搭建主从复制
- MySQL双主环境搭建
- MYSQL主备复制结构搭建与切换
- Haproxy搭建MySQL主备和Tomcat负载均衡集群
- 基于 MySQL 5.6 keepalived 的双主搭建
- MySQL搭建
- 搭建mysql
- Mysql搭建
- Mysql搭建
- Linux显示内存状态
- Android利用Fiddler进行网络数据抓包
- 进程地址空间与虚拟存储空间的理解
- get / post 提交数据到服务器
- linux内核内存管理学习
- mysql 5.6.22 主备搭建
- javascript中undefined和null的区别
- ecplise中的快捷键
- 七种进程间通信方式
- 使用命令行界面删除SSD系统盘上的hiberfil.sysw文件
- nothing is impossible to a willing heart
- LeetCode Two Sum
- Linux显示用户的ID
- Same Tree