10年工作经验,专研网站运维。
全部博文(454)
分类: LINUX
2011-05-17 11:53:34
主可以有一个,从可以有多个,从作为一个主的备份
复制主要是在从服务器上实现的,对主影响不大
主必须开启二进制日志文件,主会把二进制日志文件传给从服务器
从服务器根据二进制日志文件更新自己的数据库
主服务器负责写,从负责读
从服务器的数据更改后不会影响到主,但是主更改了会影响到从
主从服务器的mysql版本号最好一致,不一致的话也要保证从服务器的版本比主服务器的版本高
从服务器不需要开启二进制日志文件
例子:
0.138做主服务器 0.254做从服务器
在主服务器里面做:
在主服务器上授权一个可以登录到主的用户
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.info和relay有关的日志全部删掉
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保存退出。
停止mysql服务。
Pkill -9 mysql
cd /var/lib/mysql/
先把master.info和relay有关的日志全部删掉
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.info和relay有关的日志全部删掉
看错误日志,他的错误日志是 var下的 ....err那个文件
再重新启动一下mysql服务
我的也出现