参考资料:http://jingyan.baidu.com/article/0eb457e57356e803f1a90512.html


主从复制目的:

主从服务器设置的稳健性得以提升,如果主服务器发生故障,可以把本来作为备份的从服务器提升为新的主服务器。


在主从服务器上分开处理用户的请求,读的话,可以直接读取备机数据,可获得更短的响应时间。

用从服务器做数据备份而不会占用主服务器的系统资源。


场景描述:

主服务器:IP地址192.168.49.52,mysql已经安装,无用户数据。

从服务器:IP地址192.168.49.53,mysql已经安装。

主服务器的mysql服务已经正常启动



配置主服务器:

(1)修改配置文件

 在[mysqld]的下面加入下面代码:

 log-bin=mysql-bin

 server-id=1                         //唯一且比从服务器的小

 innodb_flush_log_at_trx_commit=1

 sync_binlog=1

 binlog-do-db=centos                 //备份centos数据库

 binlog_ignore_db=mysql             //表示忽略备份mysql


(2)创建用户并授权

mysql -uroot -p密码    

mysql>grant replication slave on *.* to rep1@192.168.49.53 identified by 'mysql';    


授权的另外一个语句:GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO rep1@'192.168.49.53' IDENTIFIED BY '1234';

mysql>flush privileges;    


(3)查询主数据库的状态

mysql> show master status;    

记下File以及Position的值,在后面进行从服务器操作的时候需要使用



配置从服务器:

(1)修改从服务器的配置文件/etc/my.cnf

使得“server-id=2”,并确定这个id没有被别的mysql服务所使用。


(2)启动mysql服务

mysqld_safe --user=mysql &    


(3)mysql登录并执行同步的sql语句,最后并启动slave

mysql -uroot -p    

mysql> change master to master_host='192.168.49.52',master_user='rep1',master_password='mysql',master_log_file='mysql-bin.000005',master_log_pos=331;    

mysql> start slave;    

就启动了slave同步功能。


(4)主从同步检查

执行如下语句

mysql>show slave status\G;