产品的质量依赖于过程的质量, 而过程的质量依赖于企业文化和管理! 欢迎大家来到我的小窝~!
☆ 参与调查问卷,抢限量实战课程!!☆

双击备份 mysql 大头

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

1MySQL数据库当数据量太大的时候备份是一个很大的问题。还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份51Testing软件测试网3B!`%}iVo s gv

2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。51Testing软件测试网 `MQ_5B/U"T

3、设置主数据库服务器:

:y yqi2C,W0

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

0`#{G$l0h.o l0

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

3Gc&r {_6wxN0

 

,\9r] Nj0

log-bin=log_name //日志文件的名称,51Testing软件测试网V1W2h yU7S8{P.f-Y4^

 51Testing软件测试网?'wZ(kA1{

//这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称

o!]G|An'x0

 

0QBRz cV [!j g1B0

binlog-do-db=db_name //记录日志的数据库51Testing软件测试网 ZV m5}E2L"v2C/F

 

8E-HemnUPjB3c0

binlog-ignore-db=db_name //不记录日志的数据库51Testing软件测试网'Z-E"o9k&o/|

 

0@;YP3H7n lo|X*v0

以上的如果有多个数据库用","分割开

*B0x%c'v"sUu8Q._0

然后设置同步数据库的用户账号51Testing软件测试网X3_&f&\c$hys

MySQL> GRANT REPLICATION SLAVE ON *.*51Testing软件测试网^ E{7QLydO-J

 51Testing软件测试网6q5M4s4R3Q,c O!~

TO repl@%.mydomain.com IDENTIFIED BY '123456';中国开源社区www.ossforge.com51Testing软件测试网:xr2QN:^xzl OM

4.0.2以前的版本,因为不支持REPLICATION要使用下面的语句来实现这个功能中国开源社区www.ossforge.com51Testing软件测试网&hr4VkF"A7^2a

MySQL> GRANT FILE ON *.*51Testing软件测试网6|xS/k"cd1v/ve$Ofy

 51Testing软件测试网0u!l m2x3t6l!W

-> TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';51Testing软件测试网R/zwzV"e b9` I

设置好主服务器的配置文件后重新启动数据库51Testing软件测试网I7VmB;JcA

b.锁定现有的数据库并备份现在的数据51Testing软件测试网0^3MI CR

锁定数据库51Testing软件测试网BH8K]C@ j2sz

MySQL> FLUSH TABLES WITH READ LOCK;

]pcq(E0

 

oV`:A&_0

备份数据库有两种办法一种是直接进入到MySQLdata目录然后打包你需要备份数据库的文件夹,第二种是使用MySQLdump的方式来备份数据库但是要加上"--master-data "这个参数,建议使用第一种方法来备份数据库51Testing软件测试网9}^9h1O0b j

c.查看主服务器的状态

m`$rH1^I&SL1t ?0EX0xe0

MySQL> show master status\G;51Testing软件测试网M[}`'I F$m3w-@

 

wJq1[A\ I R5F0

 --------------- ---------- -------------- ------------------51Testing软件测试网'qh V Y&?sG

 

k|9e E$o6J#z7I0

| File         | Position | Binlog_Do_DB | Binlog_Ignore_DB |51Testing软件测试网z_9u U&T,\

 51Testing软件测试网9o-M"k*Y!Z8awy4@

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

gm,\'M+z'E0

 51Testing软件测试网sS K6V yA~e

| MySQL-bin.003 |    73  |    test    |  manual,MySQL  |51Testing软件测试网+y(S1t)k EG X\

 51Testing软件测试网2~)g6w+b4],g

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

(a:^4A/me;w;T0

记录FilePosition项目的值,以后要用的。

k"m2L!s ~ c3o'A0

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

EU!@Wj,X]&e0

MySQL> UNLOCK TABLES; 51Testing软件测试网u7d6dWl x9C3]2e

4、设置从服务器

qAg7|*\w`4f x0

a.首先设置数据库的配置文件51Testing软件测试网5L-qZc;R

server-id=n //设置数据库id默认主服务器是151Testing软件测试网T2X \ [4yg*e({l!X2z

 

$w!`~q q#J@|X7S0

//可以随便设置但是如果有多台从服务器则不能重复。51Testing软件测试网;b7BW-r8BF&n QU'u

 51Testing软件测试网c$F4dQ-sd&{

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

!jY4\(sr0

 51Testing软件测试网(G~9Q1s:L6O^"a kOh\

master-port=3306 //主数据库的端口号

tp0gM$F L6eC0

 

mja tV)w!j3wrLT0

master-user=repl //同步数据库的用户51Testing软件测试网6y ]EYFv'M

 

}w*VB@$yvILKK0

master-password=123456 //同步数据库的密码

1m xT(cE6zs0

 51Testing软件测试网^ taN x

master-connect-retry=60 //如果从服务器发现主服务器断掉,重新连接的时间差

$[h W]qih"M M.v0

 

q#RZ&[.}B!P0

report-host=db-slave.mycompany.com //报告错误的服务器51Testing软件测试网|p2s AC(~ ~:]

 51Testing软件测试网5Z1b8@-~/LMn[^

b.把从主数据库服务器备份出来的数据库导入到从服务器中

!_.C`9Z5Up5~'?1l{7s;S0

c.然后启动从数据库服务器,如果启动的时候没有加上"--skip-slave-start"这个参数则进入到MySQL

|.a8U"q3u$Q0

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

k&s}W,J)z Ow0

d.设置主服务器的各种参数

4^,f x,U`AD4V7uR?0

MySQL> CHANGE MASTER TO

@F?#K eC0

 51Testing软件测试网&X J)Ke j x O&w

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

l8u1H Wz G0

 

8T,D obtE)k0

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

H C\ W1bD0

 

m!ce(O}[;g1p%t0

-> MASTER_PASSWORD='replication_password', //同步数据库的密码51Testing软件测试网u|$piu|?X

 

2K8H| i0[{.g;]ay\h0

-> MASTER_LOG_FILE='recorded_log_file_name',

-f~P"{R0

 51Testing软件测试网$uj5SBM ?V

//主服务器二进制日志的文件名(前面要求记住的参数)

x.L(p}A|0

 

&i#}8C2`V4Dr0

-> MASTER_LOG_POS=recorded_log_position;

\H$lxc@%A/}5~0

 51Testing软件测试网}pw:g,@q B? m

//日志文件的开始位置(前面要求记住的参数)

,KSOZ4r"g_0

 

QrM-g~4l0

e.启动同步数据库的线程

M z|{+e(M;v0

MySQL> slave start;

"b9q L]l nY0

查看数据库的同步情况吧。51Testing软件测试网:L&N ~&Oq)Q4g k

查看主从服务器的状态51Testing软件测试网S/L9z A8Lf$d

MySQL> SHOW PROCESSLIST\G //可以查看MySQL的进程看看是否有监听的进程 51Testing软件测试网2m7bP] c+K!F,b

如果日志太大清除日志的步骤如下: 51Testing软件测试网 O%iSG F.U'E

1>.锁定主数据库51Testing软件测试网s m+W;u M8b4~JE

MySQL> FLUSH TABLES WITH READ LOCK

x.}!cA]p`*Z0

2>.停掉从数据库的slave51Testing软件测试网kfl'm3\ir

MySQL> slave stop;51Testing软件测试网*~M BE:u

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

(zW3h9Em%t0

show master status;

rZq-]K0

 51Testing软件测试网~l8~S4xD d8Oi_5r

 --------------- ---------- -------------- ------------------ 51Testing软件测试网i7ydkI/|9z1i C)E2m7P

 

3b:Bp/d3`*lw0

|      File   | Position | Binlog_do_db | Binlog_ignore_db |

"d3^9`{m7E0

 

E2f%r-c8E'{t0

 --------------- ---------- -------------- ------------------ 51Testing软件测试网+GGl:w8FZY \ V

 51Testing软件测试网 y IG `.C8g

| louis-bin.001 |    79  |             |       MySQL    |51Testing软件测试网NPN4u wkj

 51Testing软件测试网Pz }5ZM6h^ e a

 --------------- ---------- -------------- ------------------ 51Testing软件测试网] ]vNu;O:]

4>.解开主数据库的锁51Testing软件测试网&Wr] n(e*T"r

MySQL> unlock tables;51Testing软件测试网8{(UB2\j0r

5>.更新从数据库中主数据库的信息51Testing软件测试网 ^,qDS^?jz

MySQL> CHANGE MASTER TO

-H(S%F-G.ix0p @3?0

 51Testing软件测试网;PYQ P'H,g @;t.Q)KQ)p%C

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

&_)C&yg.A^1aZ0

 

E$m]e)T~%h?-W#[0

-> MASTER_USER='replication_user_name', //同步数据库的用户51Testing软件测试网r+S(e\7so,o{

 

,[ X&U6]l:z0

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

D HI/B.m @'|fq0

 51Testing软件测试网)K\5N0P0f7~7KU


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

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2020-10-30  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

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

RSS订阅