MySql学习之主从复制
程序员文章站
2024-03-20 20:52:52
...
1、复制的基本原理
(1)master将改变记录到二进制日志(binary log)中。这些记录过程叫做二进制日志事件(binary log events)。
(2)slave将master的binary log events拷贝到它的中继日志(relay log)中。
(3)slave重做中继日志中的事件,将改变应用到自己的数据库中。
MySql复制是异步的且串行化的。
2、复制的基本原则
(1)每个slave只有一个master;
(2)每个slave只能有一个唯一的服务器ID;
(3)每个master可以有多个slave;
3、复制的最大问题
网络的延迟
4、配置,主从都配置在[mysqld]节点下,一般小写。
(1)主机配置
[必须]server-id=1,主服务器唯一ID;
[必须]log_bin=路径,启用二进制日志。
[可选]log_err=路径,启用错误日志。
[可选]basedir=路径,根目录。
[可选]tmpdir=路径,临时目录。
[可选]datadir=路径,数据目录。
[可选]read-only=0,主机读写都可以。
[可选]binlog-ignore-db=mysql,设置不要复制的数据库。
[可选]binlog-do-db=数据库名字,设置需要复制的数据库。
(2)从机配置
[必须]server-id=2,主服务器唯一ID;
(3)重启服务。
5、主机创建账号
GRANT REPLICATION SLAVE ON *.* TO 'username'@'从机IP地址' IDENTIFIED BY 'password';
6、从机连接主机
CHANGE MASTER TO MASTER_HOST='主机ID',
MASTER_USER='username',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='master-bin.000001',//Master服务器产生的日志
MASTER_LOG_POS=0;
7、启动Slave
start slave;
8、验证
show slave status/G
只有当Slave_IO_Running:Yes,Slave_SQL_Running:Yes时,代表主从复制的配置已经连通。
9、停止主从复制
stop slave;
如果出现1198:run STOP SLAVE first,表明已经开启主从复制。
10、查询master状态。
show master status;
File:二进制文件,从机连接主机中MASTER_LOG_FILE参数;
Position:从哪个位置开始抄数据,从机连接主机中MASTER_LOG_POS参数;
Binlog_Do_DB:需要复制的数据库;
Binlog_Ignore_Db:不要复制的数据库;
推荐阅读
-
MySQL优化之主从复制
-
MySql学习之主从复制
-
让普通用户登录phpmyadmin不显示information_schema 博客分类: vb2005xu软件学习vb2005xu开发文章转摘 mysql
-
Mysql主从复制(基于GTID)
-
iOS学习之Map,定位,标记位置的使用
-
play framework学习笔记之 部署项目 log4jlighttpdGAEApacheJPA
-
JavaFX学习之Chart 博客分类: javafx javafx图标chart
-
MySQL多行数据合并(单例显示多个值)之GROUP_CONCAT()函数
-
Android学习之AChartEngine折线图 博客分类: Android进阶 AChartEngine折线图
-
MySQL拼接函数之group_concat妙用