最近要配置一个mysql主从同步的环境,我的主数据库(master)是放到windows下面的,而副数据库(slave)是放到ubuntu上面的。
我在主服务器上做了如下操作,
修改my.ini文件,在最后加了一下行
[master]
#author:libin
server-id=1
log_bin=c:\log\mysql-master.log
binlog-do-db=test
binlog-ignore-db=mysql
expire_logs_days=10
max_binlog_size=100M
binlog_format=mixed在运行命令
grant replication slave on *.* to 'root'@'192.168.0.124' identified by 'root';
重启mysql以后运行show master status;
显示的结果是 “Empty Set”(这里就跟网上的步骤就不同了,不知道是什么问题)
然后在salve主机上修改了my.cnf
在最后加了
server-id=2
master-host=192.168.0.154
master-user=root
master-password=root
master-port=3306
master-connect-retry=60
replicate-do-db=test然后执行change master to master_host='192.168.0.154',master_user='root',master_password='root', master_log_file='log.000003' ,master_log_pos=98;
重新启动mysql
运行 slave start;
报一下错误:
ERROR 1200 (HY000): The server is not configured as slave;请大家帮帮慢,我找不到错误在哪里。

解决方案 »

  1.   

    show master status;
    然后把,master_log_file='mysql-bin.000002'
    ,master_log_pos=106这两个参数添加上
      

  2.   

    ni那个是空集是因为你先没有锁定表 ,你先  flush tables with read locks  
    ranhou   再  show  
    然后 要unlock tables 
    总之感觉你这个不合理  中间 的同构也可能会有问题既然你的  show master status  为空集
    你的日志位置和文件时怎么分析出来的啊?
    如果你是用的musqldump备份,那么就根本不会用到show master status 
    ta自己就会记录文件和位置的!
    还有后面你启动时,先别启动复制线程!加上 --skip-slave-start 
    然后changge  master into  
    然后再Start  slaves
      

  3.   

    write log_bin=c:\log\mysql-master.log under mysqld option.