一般主从库的配置,也分为两种,一种是从库针对主库的所有数据库,也就是 主数据库或者是数据有变动,从也变动,即使是主上多了数据库,从也会跟着增加。还有一种就是从库只是针对主动的一个或者是多个规定死的数据库,那么这种,就是我们本文讨论的。
注意事项
a:先将主服务器里面的数据库,拷贝一下,放到从服务器上,这样是先保证主从的数据的一致性
b:在执行上面一部的时候,可以在主上面使用导入导出sql,而且最好在导出前,加上一句 flush tables with read lock; (进行锁表操作,不让数据进行写入动作,这么做事为了防止从数据库的原始数据和主数据库的原始数据不一致) 在导出之后,我们去从数据库上把数据导入,然后再回到主数据库上执行 unlock tables; 进行解锁
c: 如果主里面有语句用到 uuid()之类的,记得修改 SET GLOBAL binlog_format = 'MIXED'; (在下面的文章会讲的)
下面是具体的配置,我有两台windows 服务器
A 主 192.168.1.28
B 从 192.168.1.2
在配置之前,必要的修改
1:对主数据库,修改
开始配置 主服务器
1:在mysql下找到my.ini文件,在其[mysqld] 下添加主服务器端配置:
server-id=1 #服务器 id
log-bin=D:\Program Files\MySQL\MySQL Server 5.1\mysql-bin #二进制文件存放路径
binlog-do-db=testadd #待同步的数据库 (如果这一行没有,那么就是针对所有的不用忽略的数据库进行同步)
binlog-ignore-db=information_schema #忽略不同步的数据库,这个可以不用写
binlog-ignore-db=mysql #忽略不同步的数据库,这个可以不用写
binlog-ignore-db=test #忽略不同步的数据库,这个可以不用写
注意,上面的mysql-bin 并不是指一个文件夹,而是指 存放为二进制数据
2:保存my.ini文件,重启数据库,然后会在D:\Program Files\MySQL\MySQL Server 5.1 下看到mysql-bin.index 文件和mysql-bin.000001文件;
3:通过cmd进入mysql:cd D:\Program Files\MySQL\MySQL Server 5.1\bin
输入用户名和密码:mysql -u用户名 -p密码 ( mysql -uroot -proot )
4:给要连接的从服务器设置权限:(注意下面的 单引号 分号 )
grant replication slave,reload,super on *.* to 'backup'@'192.168.1.%' ide