本文使用RHEL5.8的光盘制作yum命令的安装源来安装所依赖的软件包,关于如何使用光盘制作yum源,请参考:
http://blog.chinaunix.net/uid-20346344-id-3264166.html
服务器搭建环境:
主(server1):eth0:192.168.10.10 CentOS 5.8 master
从(server2):eth0:192.168.10.20 CentOS 5.8 slave
一、2台服务器上都安装上mysql数据库
mount /dev/hdc /mnt/iso/
yum -y install mysql mysql-server
service mysqld start
chkconfig mysqld on
mysqladmin -u root password "mysqladmin"
二、配置master服务器(192.168.10.10)
mysql -u root -pmysqladmin
create database testdatabase;
grant all on *.* to 'testuser'@'192.168.10.20' identified by 'password';
quit
sed -e '/^$/d' /etc/my.cnf > /etc/my.cnf.1
sed -e '/\[mysqld\]$/G' /etc/my.cnf.1 | sed -e 's/^$/binlog-do-db=testdatabase/' > /etc/my.cnf.2
sed -e '/\[mysqld\]$/G' /etc/my.cnf.2 | sed -e 's/^$/log-bin=\/var\/log\/mysql\//' > /etc/my.cnf.3
sed -e '/\[mysqld\]$/G' /etc/my.cnf.3 | sed -e 's/^$/server-id=1/' > /etc/my.cnf.4
sed -e '/^#/d' /etc/my.cnf.4
上面5行只是用sed命令编辑配置文件,看不懂的话,直接看下面截图
cat /etc/my.cnf.4 > /etc/my.cnf
mkdir /var/log/mysql/
chown mysql:mysql /var/log/mysql/
service mysqld restart
三、配置slave服务器(192.168.10.20)
mysql -u root -pmysqladmin
create database testdatabase;
grant all on *.* to 'testuser'@'192.168.10.10' identified by 'password';
quit
sed -e '/^$/d' /etc/my.cnf > /etc/my.cnf.1
sed -e '/\[mysqld\]$/G' /etc/my.cnf.1 | sed -e 's/^$/replicate-do-db=testdatabase/' > /etc/my.cnf.2
sed -e '/\[mysqld\]$/G' /etc/my.cnf.2 | sed -e 's/^$/master-connect-retry=60/' > /etc/my.cnf.3
sed -e '/\[mysqld\]$/G' /etc/my.cnf.3 | sed -e 's/^$/master-port=3306/' > /etc/my.cnf.4
sed -e '/\[mysqld\]$/G' /etc/my.cnf.4 | sed -e 's/^$/master-password=password/' > /etc/my.cnf.5
sed -e '/\[mysqld\]$/G' /etc/my.cnf.5 | sed -e 's/^$/master-user=testuser/' > /etc/my.cnf.6
sed -e '/\[mysqld\]$/G' /etc/my.cnf.6 | sed -e 's/^$/master-host=192.168.10.10/' > /etc/my.cnf.7
sed -e '/\[mysqld\]$/G' /etc/my.cnf.7 | sed -e 's/^$/server-id=2/' > /etc/my.cnf.8
sed -e '/^#/d' /etc/my.cnf.8
上面9行只是用sed命令编辑配置文件,看不懂的话,直接看下面截图
cat /etc/my.cnf.8 > /etc/my.cnf
service mysqld restart
配置完成!
四、测试
登录master,在上创建一个表:
mysql -u root -pmysqladmin
use testdatabase;
CREATE TABLE `backup_table` (
`id` int(11) NOT NULL auto_increment,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
show tables;
quit
登录slave检查:
mysql -u root -pmysqladmin
show tables;
quit
五、状态和日志
数据复制的日志通常存放在slave的mysql默认日志中/var/log/mysqld.log。
master的同步数据已经在配置文件中指定了,在/var/log/mysql/下面。
阅读(1851) | 评论(0) | 转发(0) |