发布时间:2016-08-27责任编辑:朱明 浏览:1261
1. 服务器
主服务器IP:192.168.0.1
从服务器IP:192.168.0.2
2. 数据库
Ibatis
主从数据库需要同时具备这个数据库,将主服务器上的的数据库文件进行备份,并在从服务器上执行一遍
3. 主服务器配置
1) my.ini文件
[mysqld]
Server-id=1 #主服务器ID
Log-bin=mysql-bin #【必须】启用二进制日志
Binlog-do-db=ibatis #需要配置的主数据库名称
#设置要进行或不要进行主从复制的数据库名,同时也要在Slave 上设定。
binlog-do-db=数据库名1
binlog-do-db=数据库名2
binlog-ignore-db=数据库名1
binlog-ignore-db=数据库名2
#若涉及及同步函数或者存储过程需要配置,否则主备会产生异常不能同步
log_bin_trust_function_creators=TRUE
2) 在主数据库建立账号并授权slave
grant replication slave on *.* to 'root'@'192.168.0.2' identified by '123456';
执行后,可能报“1290 - The MySQL server is running with the --skip-grant-tables option so it
cannot execute this statement”
解决办法:flush privileges;(清除权限) 然后再执行授权语句。
检查授权是否成功:
Select * from user where host=’192.168.0.2’ 如果Repl_slave_priv=Yes表示授权成功。
#user表时mysql数据库中的表,需要切换到mysql数据库,然后再查询.
3) 登录主数据库查看master状态
Show master status;
4. 从数据库所在的服务器
1) 修改my.ini文件
[mysqld]
Server-id=2 #{必须},服务器唯一ID
#设置要进行或不要进行主从复制的数据库名,同时也要在Master 上设定。
replicate-do-db=数据库名1
replicate-do-db=数据库名2
replicate-ignore-db=数据库名1
replicate-ignore-db=数据库名2
修改完成后重启mysql. Net stop mysql ;net start mysql.
2) 配置从数据库命令。
Change master to
mast_host=’192.168.0.1’,
master_user=’root’,
master_password=’123456’,
master_log_file=’mysql-bin.00004’,
master_log_pos=326;
1198 - This operation cannot be performed with a running slave; run STOP SLAVE first
解决:运行 stop slave;
3) 检测从服务器配置状态
Start slave;检测之前先开启
Show slave status;
如果 slave_io_running:yes,slave_sql_running:yes 表示从服务器配置成功。
5. 验证
主数据库增加表、删除数据、修改数据、增加数据
敬业工作室 供稿