1. 主服务器/从服务器设置增加了健壮性。主服务器出现问题时,你可以切换到从服务器作为备份
实验环境:
rhel-6,5
selinux disabled
iptables stoppd
master 222.24.24.28
slave 222.24.24.29
/etc/hosts
222.24.24.28 server1.example.com
222.24.24.29 server2.example.com
Master 端:
1:软件安装及加密
yum install mysql-server -y
启动相应服务;
/etc/init.d/mysqd start
mysql_secure_installation 密码:redhat
2:修改相应配置文件并启动服务:
vim /etc/my.cnf
server-id=1 必须为1到2^ 32–1之间的一个正整数值
log-bin=mysql-bin 启动二进制日志系统
binlog-do-db=westos 二进制需要同步的数据库名
binlog-ignore-db=mysql 避免同步 mysql 用户配置,以免不必要的麻烦
重新启动mysql服务
/etc/init.d/mysqld restart
进入数据库我们可以用 show master status 查看其状态
mysql -uroot -predhat
在/var/lib/mysql/会产生mysql-bin.000001这个文件
可以用mysqlbinlog查看其文件内容
为了更好的验证实验现象我们创建数据库westos和表users,看看会发生什么
这时我们再查看其master状态,会发现其Position 由原来的106增长到341
再用mysqlbinlog查看其文件内容有什么变化,会发现再数据库里的操作都被再这里记录了 mysqlbinlog /var/lib/mysql/mysql-bin.000001
如果由于特殊原因需要重启数据库
这时再看看master 状态,出现了Position为106 的mysql-bin.000002文件
这时在/var/lib/mysql 下也会产生其相应的文件,并且在mysql-bin.index文件中会所记录
我们给表中添加点东西,在看看其日至文件是否会有记录
查看/var/lib/mysql/mysql-bin.000002可以发现其时有记录的,并且其position也是随着增长的
对slave主机进行授权
Slave 端:
安装相应msyql-server服务并修改其相应配置文件
vim /etc/my.cnf
在其配置文件中添加一行 Server-id=2 后重启服务
这时我们查看其slave 状态会发现什么都没有
这时就需要我们将master上数据库的表导入slave中
在master 端执行mysqldump -predhat westos > westos.bak后会产生westos.bak文件将其传到slave 端
在slave端:
登录到mysql执行查询命令会看到成功将master端表导入到slave端,其slave状态还是没有
开启slave:
用show slave status\G;可以产看其slave状态,看到两个yes就代表成功的了
我们在master 端插入数据
在slave端我们使用select查询语句可以查询到刚在master端插入的数据
在slave 端的有/var/lib/mysql/着和master相同的文件,但是多了一个名为master.info的文件
查看其内容会发现其记录了需要同步master端的详细信息
单向复制基本搭建就这样,若要同时复制多台slave端只需和server2同样操作即可
更多详细信息以及参数设置,请参考MySQL 5.0 Manual手册.
阅读(2441) | 评论(0) | 转发(0) |