时间:2021-07-01 10:21:17 帮助过:34人阅读
**********************************************************************************************************************
简要:
操作系统 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 root@192.168.1.131
ssh root@192.168.1.132
继而在两台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
本文出自 “枷罗博客” 博客,请务必保留此出处http://jhomephper.blog.51cto.com/8558055/1737366
centos6.0 mysql5.1 单向master_slave经验之谈
标签:mysql centos 主从复制