**********************************************************************************************************************
简要:
操作系统 mac
虚拟机系统 centos
MySQL版本 5.1
**********************************************************************************************************************
第一步:
1)在虚拟机上建立master,slave两个虚拟机器,ip分别为
192.168.1.131
192.168.1.132
2)两台机器上全部安装上mysql-server服务器
yum install mysql-server
3)使用本机termail,SSH连接上两台虚拟主机
ssh [email protected]
ssh [email protected]
继而在两台mysql中的test数据库中建立测试表menber
CREATE TABLE `menber` (`name` varchar(255) DEFAULT NULL default ‘‘,`id` int(11) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1; insert into `menber` (`name`, `id`) values(‘zhangsan‘,‘1‘); insert into `menber` (`name`, `id`) values(‘lisi‘,‘2‘); insert into `menber` (`name`, `id`) values(‘王五‘,‘3‘);
**********************************************************************************************************************
第二步:
在192.168.1.131,也就是master库上关闭iptables防火墙
service iptables stop;
**********************************************************************************************************************
第三步:
在主从两台服务器上分别添加一个共有的,并且拥有较高权限的统一用户
1)在master上执行
grant replication slave on *.* to ‘repl‘@‘192.168.1.132‘ identified by ‘123456‘; flush privileges; 创建成功一个叫repl的,密码为123456的用户 2)在slave上执行 grant replication slave on *.* to ‘repl‘@‘192.168.1.131‘ identified by ‘123456‘; flush privileges; 创建成功一个叫repl的,密码为123456的用户
**********************************************************************************************************************
第四步:
1)配置master服务器的my.cnf
在[mysqld]的下面添加如下,注意:不是[mysqld_safe]下面,这里有一个大坑!!!!!!
log-bin=mysql-bin
binlog_format=mixed
server-id=131
binlog-do-db=test #需要备份的数据库,多个可以使用分号隔开
binlog-ignore-db=mysql #会忽略的数据库
log-slave-updates=1
2)配置slave服务器的my.cnf
server-id=132
log-bin=mysql-bin
binlog_format=mixed
3)分别在两个服务器上给与mysql目录文件权限
chown -R mysql:mysql /var/lib/mysql
**********************************************************************************************************************
第五步:
1 )重启两台mysql
2 )master操作
进入mysql
flush tables with read lock; show master status; #可以得到position,以及二进制文件名连个有用信息 unlock tables; 3)slave操作 进入mysql change master to master_host=‘192.168.1.131‘ #master的ip master_user=‘repl‘, master_password=‘123456‘, master_log_file=‘mysql-bin.000001‘, #查看2)的两个信息 master_log_pos=713; #查看2)的两个信息 start slave即可。 ********************************************************************************************************************** 第六步:(测试) 1)slave的mysql中执行 show slave status\G;没有异常即可 2)在master的MySQL中执行 insert into `menber` (`name`) values(‘1229008098‘); 查看slave中的数据无异常即可
********************************************************************************************************************** 说明:(master_slave_salve_slave形式的主从实现) 参照前六步即可。master基本只需要再次执行第三步的第一个操作即可,添加一个对应新的ip地址的用户。 slave基本可以复制前面的slave
虚拟器重启之后,需要重启slave,start slave才行
文档参考:http://www.tuicool.com/articles/2ENzY3