MySql 数据库集群 1. 准备服务器 由于MySQL 不同版本之间的(二进制日志)binlog 格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master 的版本肯定不能高于Slave版本。 假设同步主机 1 名为:192.168.0.150,主机 2 名为:192.168.0.142,2 个 MySQL 的basedir目录都是/usr/share/mysql,datadir 都是:/var/lib/mysql。 主机 1: 操作系统:fc13.x 86_64 IP:192.168.0.150 My SQL 版本:5.1.52 主机 2: 操作系统:fc13.x 86_64 IP:192.168.0.142 My SQL 版本:5.1.52 2. 安装 Mysql Yum install mysql 3. 创建数据库 分别登录主机 1 和主机 2 的mysql:mysql –u root –p 创建数据库:create database repdatabase; #需要同步的数据库 4. 设置同步服务器 4.1 设置主机 1:192.168.0.150 4.1.1 配置my.cnf 文件 每个同步服务器都必须设定一个唯一的编号,否则同步就不能正常运行。接下来开始修改 /etc 目录下的my.cnf,在[mysqld]配置段增加以下几行: server-id = 1 #唯一编号 log-bin binlog-do-db= repdatabase #需要同步的数据库,如果没有本行,即表示同步所有的数据库 binlog-ignore-db=mysql #被忽略的数据库 master-host = 192.168.0.142 #主服务器名 master-user = rep #同步账户名,默认是test master-password = rep #同步帐户密码,默认是空 master-port = 3306 #主服务器的 TCP/IP 端口号,默认是3306 master-connect-retry=60 #为了使用事务的InnoDB在复制中最大的持久性和一致性,应该指定 innodb_flush_log_at_trx_commit=1,sync_binlog=1 选项: replicate-ignore-db=mysql replicate-do-db=repdatabase innodb_flush_log_at_trx_commit=1 sync_binlog=1 auto_increment_increment=2 #Controls the interval between successive column values auto_increment_offset=1 #Determines the starting point for the AUTO_INCREMENT column value skip-name-resolve #Do not resolve host names when checking client connections. Use only IP addresses. If you use this option, all Host column values in the grant tables must be IP addresses or localhost. 4.1.2 创建一个有复制权限的用户 在主机 1 上增加一个账号...