数据库复制维护说明.doc
文本预览下载声明
mysql数据库复制维护方法
编写人:胡家惠
日 期:2007-9-26
数商的数据库服务器采用一主两从的结构,即一台主数据库服务器,两台从数据库服务器,主服务器负责读写,从服务器只能读取。以下例子中假设主服务器的IP地址是:172.20.16.204。从服务器的IP地址分别是:172.20.16.205,172.20.16.214。主服务器上更新的数据将通过mysql的复制功能复制到其它两台从服务器上,复制是异步进行的,延迟时间正常在3秒左右,如果是小数据量的更新操作,延迟时间将会更小,估计在1秒以下,完全能满足应用的需求。Web服务器对数据库的访问负载将同时分布到这三台服务器上,从测试的情况看,主服务器的负载明显比从服务器的负载大,一个主要的原因是主服务器负责读写,而从服务器只分配一些查询的负载。
Mysql数据库复制维护主要包括:日常监控和维护,主从切换,从服务器拷贝,根据一个最可靠的从服务器数据生成另外一个从服务器,并把这个最可靠的从服务器升级为主服务器。目标就是当数据库出现故障时,能尽快的修复,最小化故障时间。
日常监控和维护
日常监控和维护的目的就是监控mysql复制进程的运行情况,解决发生的故障问题,保证主从服务器数据的一致性。
以下是用作日常监控的几条命令,说明如下:
Show master status;
显示主服务器当前复制进程所处的bin文件名和位置
Show slave status\G;
显示从服务器复制进程的状态
Slave stop;
在从服务器上停止复制进程
Slave start;
在从服务器上启动复制进程
Set global sql_slave_skip_counter=1;
跳过一个错误的位置
Change master to master_log_file=mysql-bin.,master_log_pos=98;
改变到指定的日志位置点:日志文件mysql-bin.,位置98
示例:
mysql show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 172.20.16.204
Master_User: repuser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.
Read_Master_Log_Pos: 98
Relay_Log_File: relay-bin.
Relay_Log_Pos: 235
Relay_Master_Log_File: mysql-bin.
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB: mysql,information_schema,mysql,information_schema
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 98
Relay_Log_Space: 235
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
显示全部