lunix中mysql镜像文件_在Linux上建立MySQL5.0镜像

实现MySQL高可靠性方案有很多方法,其中,利用MySQL自带的的复制功能是最简单的一种。MySQL内部复制功能是建立在两个或两个以上服

实现MySQL高可靠性方案有很多方法,其中,,利用MySQL自带的的复制功能是最简单的一种。MySQL内部复制功能是建立在两个或两个以上服务器之间,通过设定它们之间的主-从关系来实现的。其中一个作为主服务器,其它的作为从服务器。配置方法如下:

第一步:用mysql -V查看主从服务器版本是否一致。不一致可能导致复制失败。

建立完帐号后,在slave_host上使用mysql -h masterhost -urepuser -ppassword测试帐号建立是否成功;

第三步:确保主服务器上my.cnf文件的[mysqld]部分包括一个log-bin选项。该部分还应有一个server-id=Master_id选项,其中master_id必须为1到232–1之间的一个正整数值。例如:

[mysqld]

log-bin=mysql-bin

server-id=1

一般情况你打开my.cnf后,已经默认是这样的设置了,里面内容看起来像下面这样:

# Replication Master Server (default)

# binary logging is required for replication

log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1

# defaults to 1 if master-host is not set

# but will not function as a master if omitted

server-id = 1如果这些选项不存在,添加它们并且重启服务器.在binary logging(二进制日志)没有启用的情况下,服务器是不能称为复制主服务器的。

注意:安装MySQL-server-community RPM后,有的并没有/etc/my.cnf文件。但在/usr/share/mysql目录下,有一些配置模板,比如my-small.cnf, my-large.cnf等,可以根据系统需求,把其中一个模板拷贝为/etc/my.cnf。再进行自己定义。好多情况下,需要调整[mysqld]下面的max_allowed_packet值,将其设置为16M。

第四步:将主服务器上的数据库完整复制到从服务器上。可以使用mysqldump,也可以使用二进制备份。这里介绍二进制备份的方法。

在主服务器上执行FLUSH TABLES WITH READ LOCK语句来刷新表,同时阻止写操作.:

mysql> FLUSH TABLES WITH READ LOCK;

然后对主服务器上的数据进行快照。(此时不要退出mysql的提示符,退出的话就解锁了.新开一个ssh窗口进行下面所说的归档打包操作)

创建快照最简单的途径是使用归档程序对主服务器上的数据目录(缺省的是/var/lib/mysql)中的数据库进行二进制备份。要使用tar来创建包括所有数据库的归档文件,进入主服务器的数据目录,然后执行命令:(注意下面的目录操作是在bash的提示符下进行,这里用shell>来代表,还要注意执行的命令是在哪台服务器上)

shell> tar -cvf /tmp/mysql-snapshot.tar .

然后将归档文件复制到从服务器的/tmp目录。

创建完归档文件后,可以恢复主数据库的写操作

mysql> UNLOCK TABLES;

在从服务器上,进入数据库的数据目录(缺省的是/var/lib/mysql),并使用下述命令解压缩归档文件:

shell> tar -xvf /tmp/mysql-snapshot.tar第五步:编辑从服务器上/etc/my.cnf。主要修补如下:

注释掉log-bin=mysql-bin

修改server-id,应该大于等于2,比如设置为server-id=2

设置主服务器信息

master-host=master_host

master-user=repuser //第二步建立的

master-password=password //第二步建立的第六步:重新启动从数据库,并进入mysql命令行(注意:此时用户已经与主数据库相同了,因为第四步)

mysql > slave start;第七步:测试

更改主库的内容,看备份库是否跟着改变。

说明:由于从服务器是通过读主服务器的二进制日志来实现自我更新的,所以对于对数据库进行修改的操作都要放在主服务器上执行,而从服务器只用来进行查询.(也就是只读不写的数据库操作).

logo.gif

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值