1,netstat -an|grep LISTEN
看看3306前面的侦听是0.0.0.0,还是内网的,还是外网的。。。
如果仅是内网的或者本机的127.0.0.1,即使你发布了内网,或者本机防火墙,都是不可以访问的。
变更配置是在My.cnf中,很多资料。
2,这个机器要外面访问,如果是直接接外网上面设置就可以了。如果是内部机器,还要路由器或者企业网关开通相应的映射 *** 作。
当以上保证了,服务起来了。相关IP也正确了,在远端不同的机器telnet ip 3306通了。再看Grant 相关。
添加同步账户。向两台服务器上的mysql添加账户,进入Mysql命令界面,输入密码进入。如下图:执行Mysql命令,mysql> grant replication slave,replication client on *.* -> to repl@'192.168.1.%' identified by '123456'说明:repl是账户名称,123456是对应的密码,192.168.1.%是局域网内可访问,也可指定某一台服务器,把%换成对应的IP即可。注:以上命令在A、B服务器上都要执行。
配置A服务器。找到mysql的配置文件my.ini,在[mysqld]下面添加以下配置:log_bin=mysql-binserver_id=5replicate_do_db=ftestsync_binlog=1log_slave_updates=1说明:log_bin:指定二进制日志文件的位置和命名, server_id:MySql服务器标示,必须保证唯一, replicate_do_db:要同步的数据库名称,多个用逗号隔开,此项可不配置, sync_binlog:是否将二进制日志文件同步到磁盘上,大于0为开户, log_slave_updates:将事件自动写到填制日志中注:保存文件后,要重新启动MySql服务,然后同样的 *** 作在B服务器上 *** 作一遍。
两台服务器配置完成以后,先在B服务器上开启复制功能。这一步不需要修改my.ini文件,只需要执行mysql命令,以下是命令:mysql> change master to master_host='192.168.1.2', -> master_user='repl', -> master_password='123456', -> master_log_file='mysql-bin.000001', -> master_log_pos=0说明:master_host:A服务器的IP地址 master_user:我们在第一步创建的同步账号 master_password:对应的账号密码 master_log_file:二进制日志文件名称,不一定是这个名称,可以用命令来查看 用 show master status\g来查询名称和pos master_log_pos:用上面的命令可以查出来此值
开启复制功能。用 show slave status\g 来检查复制是否已经正常运行,若Slave_IO_State为空,Slave_IO_Running、Slave_IO_Running为NO,则复制功能未运行,我们用 start slave来启动 复制功能。再用命令 show slave status\g 查看,这时我们看到Slave_IO_State为:Waiting for master to send eventSlave_IO_Running、Slave_SQL_Running为YES,表明配置已经成功,复制功能已经正常运行。然后配置A服务器,步骤和配置B服务器一样。注:一定要小心配置里面的参数,要把对应的master_host、master_log_file、master_log_pos配置正确。
测试数据是否同步成功,在A服务器上修改ftest数据库的一个表数据,然后在B服务器上查看,数据是否变化了呢,如果变化了,说明已经配置成功。然后修改B服务器的数据,再去A服务器上查看,如果数据也变化了,双向同步 的数据同步功能就成功了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)