产品的质量依赖于过程的质量, 而过程的质量依赖于企业文化和管理! 欢迎大家来到我的小窝~!

双击备份 mysql 大头

上一篇 / 下一篇  2011-04-28 11:35:49 / 个人分类:大头 mysql

1MySQL数据库当数据量太大的时候备份是一个很大的问题。还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份51Testing软件测试网yCId| j j"y o

2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。51Testing软件测试网:F-vO y(q$]

3、设置主数据库服务器:51Testing软件测试网G.E/^z:]r

a.首先查看主服务器的版本是否是支持热备的版本。然后查看my.cnf(Unix) MySQLd配置块的配置有没有log-bin(记录数据库更改日志),因为MySQL的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。

!g N/SQI+Bh0

server-id=1 //数据库的id这个应该默认是1就不用改动

D(j*Dr(n:wd/x0

 51Testing软件测试网1[4I:Ut"d8v

log-bin=log_name //日志文件的名称,51Testing软件测试网'F_ BM2a Y:o![Z

 51Testing软件测试网W.h8p4u"k~

//这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称51Testing软件测试网'}\ O n4_d/GOT8v&ZUS&s

 51Testing软件测试网&U,o XZ/xy k$B(y

binlog-do-db=db_name //记录日志的数据库51Testing软件测试网9YhL zQx zi$G-u

 

,}5W5YJ1N\%U0

binlog-ignore-db=db_name //不记录日志的数据库

v,AX:t9vP0i0

 51Testing软件测试网:lP|h;Mt

以上的如果有多个数据库用","分割开51Testing软件测试网M-`9Q1[6L+e

然后设置同步数据库的用户账号

(j9Vt Y8g1EHz0

MySQL> GRANT REPLICATION SLAVE ON *.*

E5^LS1mrx5?ic"B0

 

6Vw gn,k S@,N0

TO repl@%.mydomain.com IDENTIFIED BY '123456';中国开源社区www.ossforge.com51Testing软件测试网HuF DO6@:v gf

4.0.2以前的版本,因为不支持REPLICATION要使用下面的语句来实现这个功能中国开源社区www.ossforge.com51Testing软件测试网 ~(rK3Y r0v3m zg-zm5M

MySQL> GRANT FILE ON *.*51Testing软件测试网l-p7g)D5e.uPb

 51Testing软件测试网&V @ `~9Gy:t}E Fm

-> TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

.R(q`o.T0

设置好主服务器的配置文件后重新启动数据库

I.Iq:\,K _ z-~0

b.锁定现有的数据库并备份现在的数据

h"K'b!f c*]r0

锁定数据库51Testing软件测试网2W$M/@a!sK$O

MySQL> FLUSH TABLES WITH READ LOCK;51Testing软件测试网(jP H9J5bF

 51Testing软件测试网7z7R ]e'mI

备份数据库有两种办法一种是直接进入到MySQLdata目录然后打包你需要备份数据库的文件夹,第二种是使用MySQLdump的方式来备份数据库但是要加上"--master-data "这个参数,建议使用第一种方法来备份数据库51Testing软件测试网 ju J&X {1Y/G(R\)k;v

c.查看主服务器的状态

-N)x3X/G1Gk0

MySQL> show master status\G;

k5B/{3yF0

 

%Jj|$o QkD0

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

&zR Ytt"nE0

 

LiB*T:b,J8]0

| File         | Position | Binlog_Do_DB | Binlog_Ignore_DB |51Testing软件测试网+zz?v6f2LcMQ

 

o [:@r&lMq#r0

 --------------- ---------- -------------- ------------------51Testing软件测试网3N&Cv:Xz t2J

 51Testing软件测试网9SEPH s

| MySQL-bin.003 |    73  |    test    |  manual,MySQL  |51Testing软件测试网X u D9_)r-g

 

0Vh&XaK0

 --------------- ---------- -------------- ------------------ 中国开源社区www.ossforge.com

S B3~,J?r8Z2s0

记录FilePosition项目的值,以后要用的。51Testing软件测试网H ~a2ZK |6^:h}d

d.然后把数据库的锁定打开

1|tPZ(U0

MySQL> UNLOCK TABLES; 51Testing软件测试网:K!WBftZ

4、设置从服务器51Testing软件测试网!R/bHMo

a.首先设置数据库的配置文件51Testing软件测试网R7De*S W

server-id=n //设置数据库id默认主服务器是151Testing软件测试网DF _)CJk@O(X'`s^

 51Testing软件测试网 E6_-d-|:\e

//可以随便设置但是如果有多台从服务器则不能重复。51Testing软件测试网-N8X%wo#W

 

:Kid6Dc0

master-host=db-master.mycompany.com //主服务器的IP地址或者域名

)j'a\}us@ cq0

 

aK,igo c D-X x#YS0

master-port=3306 //主数据库的端口号51Testing软件测试网"ih&E%Y\:E'Q

 

"U ]/v-AlQ0

master-user=repl //同步数据库的用户

-{P8?N Ds0

 

TEg#Z[ hM s0

master-password=123456 //同步数据库的密码51Testing软件测试网;DF ?N5G1N:F7pdbC{

 51Testing软件测试网|.@n Fc,n

master-connect-retry=60 //如果从服务器发现主服务器断掉,重新连接的时间差51Testing软件测试网!cl[`U

 

h9zw:@u@*At3C0

report-host=db-slave.mycompany.com //报告错误的服务器

q4u9b.Khz:R:I'w-I0

 

U!aiU JQC0

b.把从主数据库服务器备份出来的数据库导入到从服务器中51Testing软件测试网`Q%\z y#NX6Ky

c.然后启动从数据库服务器,如果启动的时候没有加上"--skip-slave-start"这个参数则进入到MySQL51Testing软件测试网 n-fGq]1q"L1o

MySQL> slave stop; //停止slave的服务

uB;?D J&QIm%g0

d.设置主服务器的各种参数51Testing软件测试网&a$zey"qv_

MySQL> CHANGE MASTER TO51Testing软件测试网%B.|4|U*_B'H8?8X

 

7LOS0]/|\[&k0

-> MASTER_HOST='master_host_name', //主服务器的IP地址51Testing软件测试网v1n o[c;z|:Ap6E-a

 51Testing软件测试网e&Y"EH+ll!V0Wo"RO

-> MASTER_USER='replication_user_name', //同步数据库的用户51Testing软件测试网6dc c~bT

 

/{SRt7k)J0

-> MASTER_PASSWORD='replication_password', //同步数据库的密码

7wa"s1O-w8p3_Y0

 51Testing软件测试网`v$cE|+G'o

-> MASTER_LOG_FILE='recorded_log_file_name',

gu-b?)S9B.E/gF0

 

r,~~bNW G [ z0

//主服务器二进制日志的文件名(前面要求记住的参数)51Testing软件测试网_^D%LM%o{&q8C*?_

 51Testing软件测试网(v6g5QX6Wn

-> MASTER_LOG_POS=recorded_log_position;

/E.h7ig$u"{}$D Q0

 51Testing软件测试网wDr A{Z Wq't

//日志文件的开始位置(前面要求记住的参数)51Testing软件测试网 \S pu'{ y HN

 51Testing软件测试网db Wu5W

e.启动同步数据库的线程51Testing软件测试网1WgL bBUC6^

MySQL> slave start;51Testing软件测试网 Jcnt"@ ^4dWw

查看数据库的同步情况吧。51Testing软件测试网$sgnb]WI'h `

查看主从服务器的状态

(?5G a.]7V0

MySQL> SHOW PROCESSLIST\G //可以查看MySQL的进程看看是否有监听的进程 51Testing软件测试网^+gF%|]kV

如果日志太大清除日志的步骤如下: 51Testing软件测试网'm8H%X&u8m+kK

1>.锁定主数据库

0c4sj*\(O$k'[JQ0

MySQL> FLUSH TABLES WITH READ LOCK

P"}x0X)iX6_H0

2>.停掉从数据库的slave51Testing软件测试网j0D+L3~+kN K

MySQL> slave stop;

,eS ?)n(z2r_h$F_0

3>.查看主数据库的日志文件名和日志文件的position

o]*e Q8ty?zq0

show master status;51Testing软件测试网#Qa-h|/s5R

 

,k$[/M7la%e0

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

8i2w!W(~ n:k2M.kJWo0

 51Testing软件测试网#xGGDk)L[

|      File   | Position | Binlog_do_db | Binlog_ignore_db |

tz9~#~P*X6s0

 

z(ae|UjX0

 --------------- ---------- -------------- ------------------ 51Testing软件测试网m;KlS:U*b)v-JA

 51Testing软件测试网#ky]!DDlk-cS.ba

| louis-bin.001 |    79  |             |       MySQL    |

)QCk{%I#J0

 51Testing软件测试网!aS*rvw5A+l7z

 --------------- ---------- -------------- ------------------ 51Testing软件测试网~;z d[ r YT0I

4>.解开主数据库的锁

Q{.x:s{i'[wJ0

MySQL> unlock tables;

1~3F[lC.F?0

5>.更新从数据库中主数据库的信息

O7uRR$E)O uHk#`(w0

MySQL> CHANGE MASTER TO

S5C$?o6LG\0

 

@T#?%^)sM'j&v Z0

-> MASTER_HOST='master_host_name', //主服务器的IP地址

-|/BO1r0|V(I0

 51Testing软件测试网vs T5X|MPE

-> MASTER_USER='replication_user_name', //同步数据库的用户

0@)b/S i5wN*`Z)an0

 

u9q+ki6r0

-> MASTER_PASSWORD='replication_password', //同步数据库的密码

Ps{9]e"@;bB0

 51Testing软件测试网hF|Y!F


TAG: MySQL mysql 服务器 热备份 双击热备份

 

评分:0

我来说两句

日历

« 2024-04-16  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 50689
  • 日志数: 65
  • 文件数: 1
  • 建立时间: 2010-11-23
  • 更新时间: 2011-10-18

RSS订阅