免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1063 | 回复: 0
打印 上一主题 下一主题

[集群与高可用] MYSQL 双机热备配置手册 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-16 16:57 |只看该作者 |倒序浏览
使用的软体:①mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz,
http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz/from/pick
一、安装MYSQL
# cp mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz /usr/local/
# tar zxvf mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz
# mv mysql-standard-4.1.9-pc-linux-gnu-i686 mysql
# cd mysql
# more INSTALL-BINARY
查看安装文档,注意以红色框内为主。
# groupadd mysql (建立mysql组)
# useradd -g mysql mysql (建立mysql用户并将其用户加入该组)
# scripts/mysql_install_db --user=mysql (以mysql用户身份执行数据库初始化安装脚本)
# chown -R root . (归属root权限为当前目录)
# chown -R mysql data (归属mysql权限为data目录)
# chgrp -R mysql . (改变mysql档案/目录的使用者与群组拥有人为当前目录)
# bin/mysqld_safe --user=mysql & (以mysql用户身份后台启动mysql数据库进程)
之后我们就可以启动mysql数据库。如图:

如上图所示,就表示安装正确。
为了使数据库更加安全,我们来设置数据库密码。
/usr/local/mysql/bin/mysqladmin -uroot password 123456
如在下次启动服务器时能自动启动mysql数据库进程,我们还需写入/etc/rc.d/rc.local文件里
echo “/usr/local/mysql/bin/mysqld_safe --user=mysql &” >;>; /etc/rc.d/rc.local
二、配置MYSQL双机热备
传统模式都是采用mysql双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档。故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/mysql/data这里,如果能改掉默认配置文件my.conf,建立数据库能指定在一个目录上,如我建立在盘柜上,这样就能实现双机热备功能。
最起初困惑我的是如何更改配置文件my.conf,我咨询了很多朋友,但都没能成功。后听yddll朋友一席言,“把阵列的文件系统挂在/usr/local/mysql/data下”,顿时茅塞顿开,使我如拨云雾而见青天。原理都清楚了,下面开始实施。
# fdisk /dev/sdb
# reboot
# mkfs.ext3 /dev/sdb1(把阵列格式成ext3格式)
# 我们首先把/usr/local/mysql/data/目录下的所有文件拷贝到另一个目录,我这里自创建了一个。
# mkdir –p /bak/mysql_data
# cd /usr/local/mysql/data/
# cp –a * /bak/mysql_data
# 之后我们要把/dev/sdb1挂载进去。
# mount /dev/sdb1 /usr/local/mysql/data/
# 注:这时你启动mysql进程,它会抱错,因为此/usr/local/mysql/data/为空,故我们要把刚才备份的文件和目录拷回原处。
# cd /bak/mysql_data
# cp –a * /usr/local/mysql/data/
# 现在就可以启动mysql数据库了,但当建立数据库时,会提示错误。在这里又困惑了不少时间。最终想起目录属性还没有更改。
# 先停下数据库,执行命令/usr/local/mysql/bin/mysqladmin –uroot –p123456 shutdown
# cd /usr/local/mysql/
# chown -R mysql data(这样就可以了)
# 我们再次启动mysql数据库进程,/usr/local/mysql/bin/mysqld_safe --user=mysql &
# 这时你再建立数据库,create database squall;
# 回车后就会提示成功,辅机也要把/dev/sdb1挂载进去,show databases就可以看见在主机建立的squall数据库

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66684/showart_1083574.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP