一个快速配置步骤:
1) master端:启用binary logging,设置唯一的server ID(需重启)
例,修改my.cnf为:
[mysqld]log-bin=mysql-bin server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1
2) slave端:设置唯一的server ID(需重启)
例,修改my.cnf为:
[mysqld]server-id=2
3) master端:创建一个用户帐号,用于复制用途,slave端会使用它连接master获取binlog
例:
mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';
4) master端:暂停应用访问,锁定表禁止改动:
例:
mysql> FLUSH TABLES WITH READ LOCK; # do not exit this session, otherwise the lock will be released
5) master端:获取当年binlog位置
例:
6) master端:创建一份数据快照,然后就可以恢复应用mysql > SHOW MASTER STATUS;例1:使用 mysqldump
mysqldump --all-databases --master-data > dbdump.dbmysql> unlock tables;
例 2:使用冷备份
mysqladmin shutdowntar cf /tmp/dbdump.tar ./datarestart master server
7) slave端:将master端的数据快照导入
例 1:使用 mysqlimport
start slave server using " --skip-slave-start" optionmysql < fulldb.dump
例 2:使用冷备份
8) slave端:配置复制,指定master信息shutdown slave servercopy backup files from master servertar xvf dbdump.tarset correct file permissionstart slave server using " --skip-slave-start" option
例:
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;
9) slave端:启动复制线程例:
mysql> START SLAVE;