参考资料: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;
转载于:https://blog.51cto.com/leboit/1582822