#ID 必须唯一
server-id=1
#二进制文件名称前缀,生成的文件mysql-bin.000001,mysql-bin.000002
log-bin=mysql-bin
#记录目前有哪些mysql-bin文件 SHOW MASTER STATUS;
log-bin-index=master-bin.index
#有更新是否立即同步到日志,性能会低,但不会丢数据。
innodb_flush_log_at_trx_commit=1
sync_binlog=1
#二进制日志自动删除的天数。默认值为0,表示“没有自动删除”
expire_logs_days=10
#二进制文件大小,操作大小生成新文件存储(最小4096byte最大1073741824(1G)默认
max_binlog_size=1073741824
#同步哪些数据库
binlog-do-db=template
#二进制复制方式
binlog_format=ROW
#控制当服务器无法写入二进制日志时发生的情况,这可能导致主服务器日志变得不一致,从服务器会失去同步。
#IGNORE_ERROR忽略错误继续进行,ABORT_SERVER当发生错误不能写入二进制日志时,停止日志并关闭服务。
binlog_error_action=ABORT_SERVER
##下面配置不是必须的
#数据库编码
character-set-server=utf8
#忽略表明大小写
lower_case_table_names=1
#开启慢查询日志,超过10秒则记录到日志
slow_query_log=1
long_query_time=10.000000
#默认值:128M 专用MySQL服务器设置的大小: 操作系统内存的70%-80%最佳。
#并不是设置的越大越好。设置的过大,会导致system的swap空间被占用,导致操作系统变慢,从而减低sql查询的效率。
innodb_buffer_pool_size=500M
mysql> CREATE USER 'repl'@'192.168.80.%' IDENTIFIED BY 'MyPWD123!@#';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.80.%';
repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为MyPWD123!@#。
mysqldump -u root -p --databases mytest --master-data > dbdump.db
scp /var/lib/mysql/dbdump.db [email protected]:/home/mysqldata/
#唯一ID
server-id=2
#中继日志
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
#二进制日志自动删除的天数。默认值为0,表示“没有自动删除”
expire_logs_days=10
relay_log_recovery=ON
relay_log_info_repository=TABLE
mysql -u root -p mytest < /home/mysqldata/dbdump.db
CHANGE MASTER TO
MASTER_HOST='192.168.80.111',
MASTER_USER='repl',
MASTER_PASSWORD='Sql2008!@#',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=154;
这个内容可以在dbdump.db的开头找到,记录着master备份时当前二进制文件的位置,slave在恢复数据后就从这个点开始复制数据。
开启slave同步
mysql> START SLAVE;
参考
http://coolnull.com/154.html
http://blog.51yip.com/mysql/1042.html
http://blog.csdn.net/wyzxg/article/details/7412777
http://blog.csdn.net/JesseYoung/article/details/40979129 MySQL运维
http://www.ilanni.com/?p=7816
http://www.ilanni.com/?p=7911 MySQL-binlog备份数据