下面介绍MySQL主从复制,读写分离,双主结构完整构建过程,不涉及过多理论,只有实验和配置的过程。
Mysql主从复制(转载请注明出处,博文地址:)
原理是master将改变记录到二进制日志(binary log),slave将master的binary log拷贝到中继日志(relay log),slave通过中继日志同步master的操作。
1,实验环境,实验有2台Ubutu server 14都安装了mysql服务器,在相同的IP段
172.16.34.212(主),
172.16.34.156(从).
2,将这两台IP授权,允许其它IP通过账号密码进行访问(如添加个euht账号允许所有外部IP以密码123456访问),分别登录进两台机子的mysql执行如下语句
Grant all privileges on . to ‘euht’@’%’ identified by ‘123456’ with grant option;
Flush privileges;
注:
①上述代码的意思是创建一个euht用户,host=%,允许所有IP通过用户名euht进行访问。添加完刷新权限。
②此时两台机子的mysql应该是可以相互访问的,如果不可以,导致的原因有很多,最常见的是防火墙没关,mysql服务器绑定了本地地址。通过如下方法一般可解决问题
关闭防火墙,或开放3306端口
更改my.cnf文件,把bind-address注释掉
vi /etc/mysql/my.cnf
3,找到主服务器172.16.34.212MySQL安装文件夹修改my.cnf(etc/mysql/my.cnf)文件,在[mysqld]下面增加下面几行代码
server-id=1
log-bin=master-bin
log-bin-index=master-bin.index
保存后重启mysql(service mysql restart;)
注:如果只需要同步特定的库,如上添加代码,binlog-do-db =euht ,用于master-slave的具体数据库
4,进入mysql后,查看主服务器mysql master状态,日志File为master-bin.000001,Position为107(记下这两个值,后面进行从服务器操作的时候需要用到)
5,配置从服务器(172.16.34.156)
同样配置从服务器允许外部IP访问(参考第2点)
配置日志文件

