主库:192.168.0.11备选主库:192.168.0.12从库:192.168.0.13监控机:192.168.0.10首先在三台机器上安装mysql(监控机的mysql先不装,以后再说)。我使用percona server(一个mysql的改进版。据说比mysql性能更好些)。[root@cluster1 ~]# tar zxvf Percona-Server-5.5.21-rel25.1-234.Linux.i686.tar.gz -C /usr/local/[root@cluster1 ~]# cd /usr/local/[root@cluster1 local]# mv Percona-Server-5.5.21-rel25.1-234.Linux.i686 mysql[root@cluster1 local]# useradd -s /bin/false -M mysql[root@cluster1 mysql]# cd /usr/local/mysql/[root@cluster1 mysql]# chown -R mysql.mysql .[root@cluster1 mysql]# cp support-files/my-medium.cnf /etc/my.cnf[root@cluster1 mysql]# ./scripts/mysql_install_db --user=mysql[root@cluster1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld[root@cluster1 mysql]# chmod +x /etc/init.d/mysqld[root@cluster1 mysql]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf[root@cluster1 mysql]# ldconfig[root@cluster1 mysql]# /etc/init.d/mysqld start[root@cluster1 mysql]# chkconfig --add mysqld[root@cluster1 mysql]# chkconfig --level 235 mysqld on 注意“my.cnf”拷贝过去之后最好指定“basedir”和“datadir”以及二进制日志和“server-id”以上是三台机器安装mysql,一定记得“server-id”不能相同。 Mysql5.5以后新增了半同步复制功能。在使用replication时,主服务器把要提交的事物至少传给了一个备库。增加了主库和从库之间事物的一致性。MHA配合半同步复制效果更佳。虽然启用半同步复制会降低一些性能。但为保持整个系统的正常运行还是值得的。 开启半同步复制:主库:[root@cluster1 mysql]# cp /usr/local/mysql/lib/plugin/*.so /usr/local/mysql/lib/mysql/plugin/不拷贝的话默认找不到模块文件。mysql> install plugin rpl_semi_sync_master soname "semisync_master.so";mysql> set global rpl_semi_sync_master_enabled=1;mysql> set global rpl_semi_sync_master_timeout=1000;可以show一下验证是否打开了semisync功能。mysql> show global status like "rpl%";为了让mysql在重启时自动加载该功能,在/etc/my.cnf中加入:rpl_semi_sync_master_enabled=1rpl_semi_sync_master_timeout=10001000为1000ms的超时时间。备选主库(从库):mysql> install plugin rpl_semi_sync_master soname "semisync_master.so";mysql> set global rpl_semi_sync_master_enabled=1;mysql> set global rpl_semi_sync_master_timeout=1000;mysql> install plugin rpl_semi_sync_slave soname "semisync_slave.so";mysql> set global rpl_semi_sync_slave_enabled=1;在/etc/my.cnf中加入:rpl_semi_sync_master_enabled=1rpl_semi_sync_master_timeout=1000rpl_semi_sync_slave_enabled=1 从库:mysql> install plugin rpl_semi_sync_slave soname "semisync_slave.so";mysql> set global rpl_semi_sync_slave_enabled=1;在/etc/my.cnf中加入:rpl_semi_sync_slave_enabled=1 在备用节点和从节点的/etc/my.cnf中加入选项:read_only=1
relay_log_purge=0
Oracle控制文件基本维护MySQL 5.5主从复制相关资讯 MySQL数据库教程
- MySQL 处理非法数据 (04/09/2013 08:06:28)
- MySQL关于timestamp和mysqldump的 (12/16/2012 13:25:41)
- MySQL保证数据完整性 (12/16/2012 12:00:35)
| - ERROR 1130: mysql 1130连接错误的 (12/16/2012 13:29:08)
- MySQL数据库教程:管理数据库和表( (12/16/2012 12:47:02)
- MySQL快速插入大批量数据存储过程 (11/05/2012 19:04:04)
|
本文评论 查看全部评论 (0)