红联Linux门户
Linux帮助

Linux环境下数据库的复制

发布时间:2007-07-25 16:11:38来源:红联作者:weidrson
这里介绍的是两台mysql服务器之间数据目录的复制问题:

A: 192.168.109.180

B: 192.168.109.191

l 假设服务器A上有career数据库,而服务器B尚没有

ssh -l root 192.168.109.180 password:******** 登录A

ssh -l root 192.168.109.191 password:******** 登录B

cd /usr/local/var

scp -r root@192.168.109.180:/usr/local/var/career career

到此career数据库已经复制到服务器B上

cd career

chown mysql .

chgrp mysql .

这样在服务器B上就可以访问career数据库了。

l 假设服务器B上已经建了career数据库,但是里面没有任何表

这样也可以直接复制数据库目录里面得所有表

登录B後,cd /usr/local/var/career

scp root@192.168.109.180:/usr/local/var/career/* .

然后就可以直接访问career中得表了。

l 假设服务器B上已经建了career数据库,但是里面也建了相应得表,但是里面没有任何数据或者里面已经有数据,这时候如果采用scp的复制方式直接覆盖,必须注意一点:

上面两种情况mysql服务器(A)并不需要关闭,而这时候必须在scp之前关闭A和B 的mysql服务器,即

A:(192.168.109.180)

mysqladmin -fefaults-file=/etc/my5.cnf -u root -p shutdown

(现在A上mysql-4和mysql-5在同时运行)

B: (192.168.109.191)

pkill mysql

cd /usr/local/var/career (里面已经有建好的表)

scp root@192.168.109.180:/usr/local/var/career/* .

完成直接覆盖后,重新启动mysql服务器

cd ../../bin

./mysqld_safe -user=mysql &

mysql

use career

select count(*) from position 完成测试,测试成功。
文章评论

共有 0 条评论