安装两台服务器
主(master)IP:192.168.1.98
从(slave)IP:192.168.1.99
master上的my.cnf配置如下:
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
max_heap_table_size=512M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
server-id = 2 #server_id,主从不能相同
log-bin = mysql-bin #打开二进制日志
binlog-do-db = kairui #需要同步的数据库
binlog-ignore-db = mysql #不需要同步的数据库
binlog-ignore-db = information_schema
binlog-ignore-db = sys
expire_logs_days = 2 #自动清理 2 天前的log文件,可根据需要修改
slave上的my.cnf配置如下:
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
max_heap_table_size=512M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
skip-name-resolve
server-id = 3
#作为从机的配置
replicate-ignore-db = mysql # 不从主机同步的数据库(多个写多行)
replicate-ignore-db = information_schema
replicate-ignore-db = sys
replicate-ignore-db = performance_schema
replicate-do-db = kairui # 要从主机同步的库(多个写多行)
log-slave-updates # 启用从机服务器上的slave日志功能,使这台计算机可以用来构成一个镜像链(A->B->C)
slave-skip-errors=all # 跳过错误,从机一般应该配置该项
[mysqldump]
quick
max_allowed_packet = 32M #服务器发送和接受的最大包长度
按照上面配置好后先后启动master,slave,或者重启master和slave。
在命令行上登录slave,执行如下命令。
change master to master_host='192.168.1.98', master_user='root', master_password='123456', master_log_file='mysql-bin.000010', master_log_pos=400;
start slave;
执行完上面命令后,就开始主从拷贝了。上面的指令注意几个参数master_log_file和master_log_pos要和master数据库上的保持一致。通过在master上执行show master status来得到这两个参数。