ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 17mysql复制

17mysql复制

原创 Linux操作系统 作者:安佰胜 时间:2011-01-17 16:26:41 0 删除 编辑


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 二进制更新日志中忽略和没有记录的数据库列表

 


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13177610/viewspace-684375/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 16性能优化
请登录后发表评论 登录
全部评论

注册时间:2009-08-26

  • 博文量
    215
  • 访问量
    624938