17mysql复制


17MySQL复制

=================

使用mysql复制的好处
 避免主库故障后无法对外提供服务
 避免主库备份时的锁定,同步后备份再丛库上进行
 保持多份数据副本,避免丢失数据
 丛库提供读功能,分散主库压力

基本原理:
 主库丛库经过初始化保证数据相同后主库通过二进制日志保持对数据库变化的跟踪
 从库根据相同的日志重演主库中数据的变化

---------

配置:
 
第一步:
 授权从库可以连接主库并进行更新
 这个可以在主库上进行,方法是创建一个从库的账户也可以使用grant replication
 grant replication slave on *.* to repadmin@slave identified by 'xxxxx';
第二步:
 从主库复制到从库,实际上就是初始化,保证两边一致
第三步:
 配置主库,给主库一个复制id编号,主从的id号都必须是唯一的
 同时需要设定主库使用二进制日志文件
 server-id=1
 log-bin=binary_log
第四步:
 关机并重启主库,使新的设置生效
第五步:
 登录从库,给定从库一个复制id编号并修改其他参数
 server-id=2
 master-host=master
 master-user=repadmin
 master-password=xxxxx
第六步:
 修改完从库后重启从库和服务器,使其生效
 从库将在数据目录中创建master.info文件,记录有关复制的信息


-------------

管理复制过程

change master命令

change master to
 master_host='master_name',
 master_user='slave_name',
 master_password='slave_password',
 master_port='prot_number',
 master_log_file='binlog_filename',
 master_connect_rettry='value',
 relay_log_file='relaylog_filename',
 relay_log_pos='value';

各个参数含义:
 master_host    主服务器主机名
 master_user    连接主服务器时使用的用户名
 master_password  连接主库使用的密码
 master_port    连接主库使用的端口
 master_log_file  复制开始时读取的主库的二进制日志文件名
 master_log_pos  复制开始时读取的主库的二进制日志文件的位置
 master_connect_rettry  连接操作之间等待的秒数
 relay_log_file  开始复制时执行的从库中继日志名
 relay_log_pos=  开始复制时执行的从库中继日志位置

--------

purge master命令
 删除主库上的热进制日志

purge master logs to binary-log
purge master logs before date

例:
mysql>purge master logs to bin_log.999;
mysql>purge master logs to now();

-------

start slave命令

开始恢复复制
show slave status可以监督从库的活动

---------

stop slave命令

终止或者结束复制

show slave status提供的信息
 
 connect_regry   试图连接主库的次数
 read_master_log_pos  主库二进制日志的位置
 relay_log_file  当前中继日志文件
 relay_log_pos   当前中继日志文件位置
 relay_log_space  所有中继文件的大小
 
----------

show slave hosts命令

 server_id  从库的复制id
 master_id  主库的复制id
 host    从库的主机名
 port    从库的连接端口

----------  

show processlist

 state  包含有关服务器正在处理内容的信息
 db   线程数据库
 command 线程执行的当前语句
 time  线程执行的时间

----------

load data from master

 从库从主库中获取数据
 但是有有些限制, 


-----------

show binlog events
 显示日志事件

 log_name  二进制文件名
 pos     日志中事件的位置
 event_type 事件类型

------------

show master status

 file   二进制更新日志文件名
 position 在主库正在写的二进制日志中的当前位置
 binlog_do_db 二进制更新日志中记录的数据库列表
 binlog_ignore_db 二进制更新日志中忽略和没有记录的数据库列表

为凤凰等地区用户提供了全套网页设计制作服务,及凤凰网站建设行业解决方案。主营业务为做网站、成都做网站、凤凰网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!


 


网站栏目:17mysql复制
文章链接:http://scyanting.com/article/jecgcc.html