windows 8下mysql主从同步设置

配置新数据库的主从复制

环境

 

主windows 8 ,mysql-5.5.18-win32.msi

从windows 7 ,mysql-5.6.24-win64.zip

 

主服务器地址:192.168.1.2

从数据库地址:192.168.1.3

 

主服务器端配置

(1)

在mysql下找到my.ini文件,在其[mysqld] 下添加主服务器端配置:

server-id=1    #服务器 id

log-bin=C:\ProgramFiles\MySQL\MySQL Server 5.5\mysql-bin   #二进制变更日志存放路径

binlog-do-db=test1    #待同步的数据库

binlog-ignore-db=information_schema   #忽略不同步的数据库,这个可以不用写

binlog-ignore-db=mysql    #忽略不同步的数据库,这个可以不用写

binlog-ignore-db=test    #忽略不同步的数据库,这个可以不用写

 

保存my.ini文件,重启数据库,然后会在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件;

 

(2)

命令登录数据库(mysql -u用户名 -p密码)

>  mysql -uroot –p******

在主服务器 的mysql数据库中建立一个同步专用账户"slave"并且只能允许从192.168.1.3这个地址上来登陆,密码是123456

grant replication slave,reload,super on *.* to slave@192.168.1.3identified by '123456';

 

输入命令 show master status;       # 找到File Position 的值记录下来;


其实,主服务器是不需要设置太多信息的,只需要第1条中的前三行就足够了。

 

从服务器端配置

(1)

从服务器上测试:mysql -uslave -p123456 -h 192.168.1.2,查看能否连接主数据库成功

 

(2)

mysql下找到my.ini文件,在其[mysqld] 下添加从服务器端配置:

 

server-id=2    #服务器 id ,不能和主服务器一致

replicate-do-db=test1    #待同步的数据库

binlog-ignore-db=information_schema   #忽略不同步的数据库,这个可以不用写

binlog-ignore-db=mysql   #忽略不同步的数据库,这个可以不用写

binlog-ignore-db=test    #忽略不同步的数据库,这个可以不用写

 

保存my.ini文件,重启数据库。

 

(3)

设置登录主数据库的账号和密码等信息,然后启动slave

mysql>changemaster to master_host='192.168.1.2',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=107;

(master_logmaster_log_pos则对应主服务器show master status;命令查看到的数据)

ps:可能会报一个错误,大概的意思是说slave线程正在运行,不能设置,这样的话,执行mysql>stop slave; 停止slave线程,然后再设置连接的参数;

 

设置完之后,执行 mysql> start slave; 开启slave线程

 

(4)

查看从数据库的信息

 

mysql>show slave status \G;

 

如果出现:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

以上两项都为Yes,那说明没问题了

 

(5)

测试主从复制是否有效果

在主数据库中创建一个新的表

create table t_test1(id int not null auto_increment primarykey);

 

 

然后再切换到从数据库查看是否同样多出同名的表

 

主主同步也是相同的配置,只是相互为主机和从机的设置;

 

 

 

配置旧数据库的主从复制

如果一开始数据库的架构不是主从复制,并且运行一段时间后已经有数据存在,那配置的方式略有不同。

 

(1)

编辑主数据库的my.ini文件,加上一下内容:

binlog-do-db=landclash

 

(2)

重启主数据库,然后在主数据库中锁定所有的表

 

mysql>flush tables with read lock

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值