ab复制(主从复制)

可以让mysql实现:
1.数据的备份(主服务器的数据全部同步到从服务器)
2.可以负载均衡减小主服务器的压力
3.真正实现mysql的读写分离

配置方法
主服务器:
1. 主服务器 my.cnf 配置
cat /etc/my.cnf
[mysqld]
log-bin=mysql_bin
server-id=1    不允许重复
2. 授权,指定从服务器只能复制binlog,从服务器的ip
grant replication slave on *.* to ‘slave‘@‘192.168.1.140‘ identified by '123';
查看主服务器的运行状态
mysql> show master status

3. 在从上使用slave用户登录测试:
mysql -u slave -p123 -h 192.168.1.14

4. 主服务执行数据全备
mysqldump --all-database > db_backup.sql
5. 找到当前的日志文件和位置号
mysql> show master status;

从服务器:(可以不用开启binlog功能)
6. 将主服务的全备脚本拷贝到主服务器并且导入主服务器
# mysql -uroot -p123 < db_backup.sqlb
7. 从服务器 my.cnf 配置
cat /etc/my.cnf      
[mysqld]
server-id=2    和主服务器不重复就可以
master-host=192.168.1.131 主服务器ip
master-user=slave   登录时账号
master-password=123 mysql 读取配置文件时,知道是以从服务器的形式运行

8. 从服务器从主服务器读取binlog产生问题时
mysql -u root -p
mysql> change master to
mysql> master_host='192.168.1.131',
mysql> master_user='slave',
mysql> master_password='123',
mysql> master_log_file='',
mysql> master_log_pos=399;

9. 启动从服务器
mysql> slave start  或 start slave 启动从服务器
查看从服务器状态
mysql> show slave status

练习:
主----从(主)------从
log-slave-updates 中间这台作用:中继日志内容写入到binlog日志

互主
[mysqld]
log-bin=mysql_bin
server-id=1
master-host=192.168.100.130
master-user=slave2
master-password=123
auto-increment-increment=2
auto-increment-offset=1

[mysqld]
log-bin=slave
server-id=2
master-host=192.168.100.128
master-user=slave
master-password=123
auto-increment-increment=2
auto-increment-offset=2