MySQL主从复制
来源:互联网 发布:xmind for mac 编辑:程序博客网 时间:2024/06/05 16:33
主从复制解决的问题?
(1)数据平衡
(2)负载均衡
(3)备份
(4)高可用和容错行
1、实现原理
(1)MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或其他服务器充当从服务器
(2)MySQL复制基于主服务器在二进制日志中跟踪所有对数据库的更改(更新、删除)
(3)每个从服务器从主服务器接受主服务器已经记录到其二进制日志的保存和更新
2、实现步骤
(1)Matser将改变记录到二进制日志(binary log)中
(2)Slave(监听)将Master的binary log events拷贝到它的中继日志(relay log)
(3)Slave重做中继日志中的事件,将改变它自己的数据
3、准备两台服务器,一台作为主服务器,一台作为从服务器(或多台)
4、主服务器配置
(1)进入配置文件,修改/etc/my.cnf
log-bin = mysql-bin // 日志名server-id = 1 // 用来标识最初server是从哪里写入的,必须且唯一(2)查看是否生成日志
mysql> show master status;+------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| mysql-bin.000001 | 120 | | | |+------------------+----------+--------------+------------------+-------------------+1 row in set (0.00 sec)mysql-bin.000001是文件名,写满之后会新开.000002/3/3......
position是位置,会随着写入而增大
5、从服务器配置
同样修改/etc/my.cnf
relay-log = mysql-relay-binserver-id = 151
mysql> grant replication slave on *.* to slave01@192.168.xxx.xxx indentified by '123456';*.*代表所有表、所有库
意思是:允许用户slave01以密码123456在主机192.168.xxx.xxx上访问当前的master
7、从服务器监听主服务器(在从服务器中配置)
(1)首先确定能否连通主服务器的网络
[root@localhost etc]# ping 192.168.xxx.xxx // 主的ip(2)指向主服务器
mysql> stop slave; // 先关闭
mysql> change master to master_host = '主ip', master_port = 3306, master_user = 'slave01', // 上一步的用户 master_password = '123456', // 上一步的密码 master_log_file = 'mysql-bin.000001', master_log_pos = 151; // 是第四步下的(2)中的position,建议重新执行第四步,将position写在这,一定比原来的大(3)查看从服务器状态
mysql> show slave status/G;当下面两个值为yes时,监听成功
Slave_IO_Running: YesSlave_SQL_Running: Yes
8、配置完成
9、测试
在主库中操作,查看结果,去从库中查看结果是否相同
阅读全文
0 0
- 【mysql 主从复制】掌握MySQL主从复制
- mysql 主从复制 主从配置
- MySQL主从复制配置
- mysql主从数据复制
- Mysql 主从复制
- mysql的主从复制
- Mysql搭建主从复制
- MySQL主从复制配置
- Mysql 主从数据库复制
- mysql主从复制
- MySQL主从复制
- mysql主从复制
- 配置MySQL主从复制
- Mysql的主从复制
- MySQL主从复制
- MySQL主从复制功能
- Linux MySQL主从复制
- MYSQL 主从复制(Replication)
- Getter & Setter:使用还是废弃
- sklearn中 svm.SVC 函数使用方法和参数说明
- 24岁!杨帆起航!
- Django框架学习笔记(25.Form组件验证)
- 简单粗暴解决You don't have permission to access / on this server.
- MySQL主从复制
- kafka数据同步Elasticsearch深入详解
- github入门到上传本地项目
- layer和easyUI结合:点击确定按钮关闭弹窗
- 2017-12-22 输入常量的判定
- ie的一些兼容问题
- Data truncation: Data too long for column 'xxx' at row 1
- Qunar全链路跟踪及Debug
- 微信小程序Xmljiexi