mysql复制的优点: 

1.主服务器出现问题,快速切换到从服务器提供服务。

2.在从服务器执行查询操作,降低主服务器的访问压力。

3.从服务器执行备份,避免备份期间影响主服务器的服务。

安装配置
 

 1,确保主从服务器安装相同版本的数据库。

 2,主服务器,设置复制使用帐号,授权REPLICATION SLAVE权限。

例如: mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.101' IDENTIFIED BY '123456';

 3,修改主服务器的配置文件my.cnf,开启BINLOG,设置server-id的值,修改后需要重启数据库服务才生效。

My.cnf修改:

[mysqld]

log-bin = /home/mysql/log/mysql-bin.log

server-id = 1

 4,主服务器设置读锁定有效,确保没有数据操作,获得一个一致的快照:

 mysql>flush tables with read rock;

 5,得到主服务器上当前二进制日志名和偏移量值,为了在从数据库启动后,从这个点开始进行数据恢复。

mysql> show master status;

 6,备份主库,直接操作系统下cp全部数据文件,也可mysqldump导出数据或者ibbackup工具数据备份。cp最快

$tar -cvf data.tar data

 7,恢复主库的写操作,剩下的就是在从服务器执行:
mysql>unlock tables;

 8, 解压主库的备份文件到从库。

 9,修改从数据库的配置文件my.cnf,增加server-id参数。server-id唯一,与主库不同。

my.cnf修改

[mysqld]

server-id = 2

 10, 从服务器,使用--skip-slave-start选项启动从数据库,这样不会立即启动从数据库服务上的复制进程,方便对从数据库服务进行进一步配置:

$./bin/mysqld_safe --skip-slave-start &

 11,对从服务器做相应配置,制定复制使用的用户,主数据库服务器的ip,端口级开始执行复制的日志文件和位置等

mysql> CHANGE MASTER TO

 MASTER_HOST='master_host_name',

 MASTER_USER='replication_user_name',

 MASTER_PASSWORD='replication_password'.

 MASTER_LOG_FILE='recorded_log_file_name',

 MASTER_LOG_POS=recorded_log_position;

 12,启动从服务器上的slave线程;

 mysql> start slave;

 13.slave上执行show processlist命令查看;

 mysql>show processlist \G

 14.测试复制服务的正确性,主库更新数据操作,观察从库是否同步。

 done ,到此主从备份复制完成。。。