Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2916221
  • 博文数量: 454
  • 博客积分: 4860
  • 博客等级: 上校
  • 技术积分: 6375
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 10:08
个人简介

10年工作经验,专研网站运维。

文章分类

全部博文(454)

文章存档

2017年(11)

2016年(13)

2015年(47)

2014年(36)

2013年(147)

2012年(64)

2011年(136)

分类: LINUX

2011-05-17 11:53:34

网络环境:两个空数据库,没使用的数据库,刚搭建完成的数据库。
  ------------从

主可以有一个,从可以有多个,从作为一个主的备份

复制主要是在从服务器上实现的,对主影响不大

 主必须开启二进制日志文件,主会把二进制日志文件传给从服务器

从服务器根据二进制日志文件更新自己的数据库

主服务器负责写,从负责读

从服务器的数据更改后不会影响到主,但是主更改了会影响到从

 

主从服务器的mysql版本号最好一致,不一致的话也要保证从服务器的版本比主服务器的版本高

 

从服务器不需要开启二进制日志文件

 

例子:

0.138做主服务器 0.254做从服务器

 

二、mysql的搭建
yum install gcc*
yum install ncurses-dev*
groupadd mysql
useradd -g mysql mysql
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
tar zxvf mysql-5.1.55
cd mysql-5.1.55
./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql --with-charset=gbk --with-collation=gbk_chinese_ci --with-extra-charsets=complex
make
make install
/usr/local/mysql/bin/mysql_install_db
chown -R mysql /var/lib/mysql
cp /usr/local/src/mysql-5.1.55/support-files/my-medium.cnf /etc/my.cnf
/usr/local/mysql/bin/mysqld_safe &
/usr/local/mysql/bin/mysqladmin -u root -p password '123456'
/usr/local/mysql/bin/mysql -uroot -p123456

 

在主服务器里面做:

在主服务器上授权一个可以登录到主的用户

mysql> grant replication slave,reload,super on *.* to slave@192.168.0.254 identified by '123';  

                   表示从服务器可以到主服务器里面申请日志      这个slave是名字

flush privileges;

停止mysql服务。

Pkill -9 mysql

cd /var/lib/mysql/

先把master.inforelay有关的日志全部删掉

rm -rf *.bin

rm -rf mysql-bin.*

/usr/local/mysql/bin/mysqld_safe &

/usr/local/mysql/bin/mysql -u root –p

Stop slave;

Reset slave;

Start slave;

在从服务器端测试一下帐号:

mysql -h 192.168.0.138 -u slave -p123

 

 

 

 

现在做从服务器

vim /etc/my.cnf

[mysqld]

server-id       = 2
master-host=192.168.0.138
master-user=slave
master-password=123456
log-bin=mysql-bin
master-port=3306

保存退出。

 

停止mysql服务。

Pkill -9 mysql

cd /var/lib/mysql/

先把master.inforelay有关的日志全部删掉

rm –rf *.bin 

rm -rf mysql-bin.*

/usr/local/mysql/bin/mysqld_safe &

/usr/local/mysql/bin/mysql -u root –p

Stop slave;

Reset slave;

Start slave;

测试:

show slave status\G;

在主服务器上

create database jjjjjjjjjj;

在从服务器上:

show databases;

 

 

 

主要目的是实现读写分离 减轻服务器压力

 

 

ab复制排错的时候 要先把master.inforelay有关的日志全部删掉

看错误日志,他的错误日志是 var下的 ....err那个文件

再重新启动一下mysql服务

我的也出现

阅读(2250) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~