结构:
云主机1,云主机2; 1为主节点;2为从节点;
主从结构搭建:
配置主服务器(云主机1):
编辑主master服务器配置文件/etc/my.cnf
#vim /etc/my.cnf
在[mysqld]节点下加入两句话:
server-id=1 #当前数据库在集群中的id值
log-bin=mysql-bin #启用二进制日志;key值的名字不能变,value表示你定义 的二进制文件的名字.可以自定义
完成了二进制文件的开启,就可以将当前数据库重启作为主节点提供主从复制架构的 功能;
重启服务:service mysql restart
登录#mysql –uroot -proot
mysql>flush tables with read lock; #数据库锁表,不让写数据;这步骤可不做 对于当前环境的mysql无需使用lock命令,因为没有人操作,但是生产环境中必须这样做
mysql>show master status; #查看MASTER状态(这两个值File和Position)其中的file就是二进制文件,position记录当前操作sql的步骤数(注意一条sql包含多步,所以不是sql语句的条数)
mysql>unlock tables; 主数据库到此配置完毕
配置从服务器:
修改/etc/my.cnf增加一行
#vim /ect/my.cnf
server-id=2
重启服务
service mysql restart 通过mysql命令配置同步日志的指向: 登录到从节点的mysql客户端(linux,sqlyog)
mysql>change master to
master_host='10.9.48.69',
master_port=3306,
master_user='root',
master_password='root',
master_log_file='mysql-bin.000002',
master_log_pos=120;
master_host 主服务器的IP地址
master_port 主服务器的PORT端口
master_log_file 和主服务器show master status中的File字段值相同
master_log_pos 和主服务器show master status中的Position字段值相同
mysql>start slave; #开启从节点服务状态;stop slave;停止服务,出错时先停止,再重新配置
mysql>show slave status\G; #查看SLAVE状态,\G结果纵向显示。必须大写,这个命令无法再sqlyog中使用,linux客户端使用的;
测试。