1.主配置
*\MySQL\MySQL Server 5.5\my.ini 文件最后加入如下配置即可
#数据库ID号, 其中master_id必须为1到232–1之间的一个正整数值;一般情况我们采用ip命名
server-id = 1
#启用二进制日志;
log-bin=mysql-bin
#需要同步的二进制数据库名; test为数据库名称
binlog-do-db=test
#不同步的二进制数据库名,如果不设置可以将其注释掉;
#binlog-ignore-db=information_schema
#binlog-ignore-db=mysql
#binlog-ignore-db=personalsite
#binlog-ignore-db=test
#设定生成的log文件名;
log-bin="D:/log"
#把更新的记录写到二进制文件中;
log-slave-updates
重启mysql服务:win + r输入cmd 进入控制台》net stop mysql服务停止后输入net start mysql
重启完毕
进入mysql(控制台或可视化工具)创建新用户并授权,*.* 标识所有数据库的所有表;forslave 为用户名,root为密码,192.168.0.251位从服务器的ip(可以设置ip段如:192.168.168.%)
grant replication slave,super,reload on *.* to forslave@192.168.0.251 identified by 'root';
以上主服务器设置完毕。
查看状态
show master status;
2.从配置
#如果需要增加Slave库则,此id往后顺延
server-id = 2
log-bin=mysql-bin
#主库host
master-host = 192.168.0.250
#在主数据库服务器中建立的用于该从服务器备份使用的用户
master-user = forslave
master-password = root
master-port = 3306
#如果发现主服务器断线,重新连接的时间差;
master-connect-retry=60
#不需要备份的数据库;
#replicate-ignore-db=mysql
#需要备份的数据库
replicate-do-db=test
log-slave-update
配置完毕后重启mysql如上;启动从服务进入mysql(控制台或可视化工具)slave start;(关闭命令 slave stop;)
查看状态:
show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
该状态为yes即可。
注:从数据库服务需要有完整的主数据库结构(如果主数据库中已有表),并且编码格式统一,主数据库已有的数据并不能同步到从数据库中