赞
踩
解决uuid:
生成的uuid复制到auto.cnf中即可
- log-bin=mysql-bin
-
- server-id=1
-
- binlog-do-db=2007javaa
-
- binlog_ignore_db=mysql
注意要把此项配置放在my.cnf的[mysqld]下面
创建一个允许从数据库来访问的用户账号(mysql中操作) #创建账号 create user 'username'@'从机ip' identified by '123456'; #授权 grant all privileges on *.* to 'username'@'从机ip' with grant option; #刷新 FLUSH PRIVILEGES;
- create user bw@'192.168.58.136' identified by 'root';
- grant all privileges on *.* to 'bw'@'192.168.58.136' with grant option;
- FLUSH PRIVILEGES;
- 注意新创建的用户不可以是root 因为root已经存在
使用如下命令查看主服务器(mysql中操作)
show master status\G
如果是empty 查看log-bin
show variables like '%log_bin%';
可以看到log_bin是OFF.
解决方法:
在mysql 配置文件 /etc/my.cnf中
[mysqld]下添加:
log-bin=mysql-bin
但是我们上面已经配置过这个了,那就是配置的/etc/my.cnf没有生效
#查看是否有设置使用指定目录的my.cnf文件,如果没有则是加载默认文件/etc/my.cnf
ps aux|grep mysql|grep 'my.cnf'
#查看mysql默认使用my.cnf文件目录以及优先级,排在前面的优先级高
mysql --help|grep 'my.cnf'
修改的位置不对,由于是测试环境的mysql,所以是直接使用mysqld去启动MySQL服务的,
而不是使用mysqld_safe脚本去启动的,所以修改参数的时候需要对应好才会生效。
配置要放在[mysqld]下才会生效 生效后查看的结果:
记住file 和 position 下一步操作需要此值
执行如下代码(mysql中操作) change master to master_host=‘主服务器ip’, master_user=‘刚在主服务器创建的用户名’, master_password=‘刚在主服务器创建的用户密码’, master_port=3306, master_log_file=‘刚查看主服务器下的File值’, master_log_pos=刚查看主服务器下的Position值
- change master to master_host='192.168.58.135',
- master_user='bw',
- master_password='root',
- master_port=3306,
- master_log_file='mysql-bin.000001',
- master_log_pos=120;
使用navicat链接主服务器和从服务器
在主服务器中创建数据库和表 从服务器会自动同步数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。