mysql maser-slave
Mysql数据库主从同步
描述:MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服 务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以切换到从服务器。
前提:两台数据库服务器系统一致,mysql版本一致。可减少其他问题的可能性
名称 |
别名 |
ip地址 |
用途 |
服务器主库 |
Master |
192.168.8.238 |
数据库等服务正常运行 |
服务器从库 |
Slave |
192.168.8.239 |
备份主服务器的数据库mysql |
实验之前,一定要保证两服务器之间互相可以通讯,否则也无法实现主从备份。
在主服务器Master:
1. 修改mysql数据库cnf文件,/etc/my.cnf
server-id = 1 //数字1,不固定,只需唯一即可。
log-bin=mysql-bin 日志存储格式, 表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提;
innodb_flush_log_at_trx_commit=1
sync_binlog=1 //数字1可以自定义,只要唯一即可。
binlog-do-db=wordpress //是表示只备份wordpress,表示需要记录进制日志的数据库。如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项
binlog_ignore_db=mysql //表示忽略备份mysql. 表示不需要记录二进制日志的数据库。如果有多个数据库可用逗号分隔,或者使用多个binlog-do-db选项,多行显示
不加binlog-do-db和binlog_ignore_db,那就表示备份全部数据库
2. 然后重启MySQL:
[root@localhost ~]# service mysqld restart
Shutting down MySQL. SUCCESS!
Starting MySQL.. SUCCESS!
[root@localhost ~]#
3. 登录Master服务器,在主服务器新建一个用户赋予“REPLICATION SLAVE”的权限。192.168.8.239是从服务器的ip地址。赋予从库权限帐号,允许用户在主库上读取日志
mysql –uroo –p
mysql> create user backup@192.168.8.239 identified by 'Per@f0ect*';
mysql> grant replication slave on *.* to backup@192.168.8.239 identified by 'Per@f0ect*'; ( 说明replication slave 复制需要的权限,监视和管理复制账号权限)
mysql> show master status;
得到日志文件名为mysql-bin.000010 偏移量为381
注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化
配置从服务器Slave
4. 修改mysql数据库conf文件,/etc/my.conf
vi /etc/my.cnf
5. 重启从服务器的mysql数据库
6. 对从数据库进行配置
master_host:主服务器的IP,
master_user:配置主服务器建立的用户名;
master_password:配置主服务器建立的用户密码,
master_port: 主服务器的mysql端口,如果未修改,即默认的3306,
master_log_file:主服务器查看的日志文件名,
master_log_pos:主服务器查看的偏移量 //以下命令中381 无单引号
mysql> change master to master_host='192.168.8.238',master_user='backup',master_password='Per@f0ect*',master_port=3306,master_log_file='mysql-bin.000004',master_log_pos=381;
7. 启动slave进程
mysql> start slave; 启动从服务器复制功能
mysql> show slave status;
查看slave线程状态:
mysql> show slave status\G
两行同时为yes,说明配置成功
mysql> show processlist\G;
进一步验证配置的正确性,如果不是yes,需检查配置。
8. 至此主从服务器已配置完成。下面验证:
① 主服务器上新建数据库master
② 在从服务器上实时查看,发现已同步到从服务器数据库。
如果主数据库服务器已经存在用户数据,那么再进行主从复制时,需要做以下处理。
主数据库服务器:
(1) 主数据库锁表操作,不让数据再进行写入动作
mysql>flush tables with read lock;
(2) 查看主数据库的状态
mysql>show master status;
记下File以及Position值,以备从服务器使用。
(3) 把主服务器的数据文件复制到从服务器,最好先用tar归档压缩处理以下
(4) 取消主数据库锁定。
mysql >unlock tables;
从数据库服务器:
mysql>slave stop;
mysql>change master to master_host='192.168.8.239',master_user='backup',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=578
mysql>slave start;
其他说明:
主服务器my.cnf
binlog-do-db= 需要备份的数据库名,可写多行。
binlog-ignore-db= 不需要备份的数据库名,可写多行。
从服务器my.cnf
replicate-do-db=test 需要备份的数据库名,可写多行。表示需要同步的数据库,如果有多个数据库可用逗号分隔,或者使用多个replicate-do-db选项
replicate-ignore-db=mysql 忽略的数据库 表示不需要同步的数据库,如果有多个数据库可用逗号分隔,或者使用多个replicate-ignore-db=mysql选项
log-slave-updates 配置从库上的更新操作是否写入二进制文件,如果这台从库,还要做其他从库的主库,那么就需要打这个参数,以便从库的从库能够进行日志同步
二进制日志清除
mysql maser-slave相关推荐
- mysql设置slave复制_mysql5.5建立主从复制(setupmaster-slavereplication)_MySQL
bitsCN.com mysql5.5建立主从复制(set up master-slave replication) 1.注意事项: (1)主从服务器版本要一致 (2)要修改root密码,切不可用初始 ...
- mysql slave lock 跳过_处理 MySQL 因为 SLAVE 崩溃导致需要手动跳过 GTID 的问题 | 关于 GTID...
今天发生了与之前某篇博客相似的问题,有同学在不同步的 binlog 库中使用语句 database.table 命令对表进行 drop 导致 master 丢弃该表但是从库并未能同步到该操作.并且后续 ...
- Mysql复制-Slave库设置复制延迟
mysql> stop slave; mysql> change master to master_delay=10;#单位是秒 mysql> start slave; mysql& ...
- mysql master slave 灾备技术_MySQL灾备恢复在线主从复制变成主主复制及多源复制【转】...
生产主主复制(AB),和灾备主从复制(B--->C).当生产出现问题时,数据写入切换到灾备数据库,待生产恢复后,将灾备回写到生产.步骤如下: 1.灾备与生产其中一台建立主主复制,这样生产的那台就 ...
- MySQL主从- slave跳过错误
目录 一.跳过指定数量的事务 二.修改mysql的配置文件 三.模拟错误场景 mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续 跳过错误有两种 ...
- mysql 查看slave状态_解读show slave status 命令判断MySQL复制同步状态
解读show slave status 命令判断MySQL复制同步状态 1. show slave status命令可以显示主从同步的状态 MySQL> show slave status \G ...
- MySQL show slave statusG 输出详解
MySQL show slave status\G 输出详解 db02 [(none)]>show slave status\G *************************** 1. r ...
- mysql 查看slave状态_Mysql master/slave测试过程
1.测试环境:gt;gt;Master:物理机,Debian(testing) + mysql5.0 + ip:192.168.40.223gt;gt;slave: 虚拟机,CentOS(4.0) + ...
- mysql master slave区别_mysql master/slave 使用感受
使用mysql的master/slave部署已经有一段时间.这种架构不能从根本上弥补数据结构设计失误带来的性能问题.聊胜于无. master/slave模式中,数据同步非常快.而master/slav ...
- mysql 查看slave状态_查看mysql主从配置的状态及修正 slave不启动问题
.查看master的状态 show master status; //Position不应该为0 show processlist; //state状态应该为Has sent all binlog ...
最新文章
- ceph-dencoder工具使用详解
- permutation_importance是什么?背后的思想又是什么?是如何使用permutation_importance计算特征重要度的?
- matlab for循环_从零开始的matlab学习笔记——(5)循环
- java注释详解--javadoc注释
- 洛谷 P1082 同余方程(同余exgcd)
- Python深度学习之分类模型示例,MNIST数据集手写数字识别
- poj 1190 生日蛋糕 难|供自己瞻仰
- SIP中的SDP offer/answer交换初探
- 给单片机焼写程序需要什么东西_单片机怎么烧写程序
- HttpEntity.EMPTY属性代码示例
- 【渝粤教育】国家开放大学2018年秋季 3818-22T燃气工程施工 参考试题
- java线程同步的实现_【Java多线程系列三】实现线程同步的方法
- 扫地机器人的特点描写_扫地机器人的特点是什么
- DTCoreText
- 微信公众号可以开店吗?
- 【UOJ】#37. 【清华集训2014】主旋律
- 中缀表达式求值,中缀表达式转化为二叉树
- NOIP2016普及组T3(海港)题解
- DCDC基础(10)-- BUCK电路的CCM和DCM模式
- godaddy php5.ini,Godaddy主机修改上传文件限制