原理:主服务器负责网站NonQuery操作,从服务器负责Query操作,用户可以根据网站功能模块特性模块固定访问Slave服务器,或者而自己写个池或队列,自由为请求分配从服务器连接。主从服务器利用Mysql的二进制我只文件,实现数据同步,二进制日志由主服务器产生,从服务器响应获取同步数据。
配置主库(master)和从库(slave),注意一点,如果两个数据库的版本不一致,主库的版本应该低于从库。
--master
show master status;--查看master状态,并记录File值
在主库(master)中创建一个用于主从库同步的用户账户,并给该用户授权
CREATE user `mastersl`;
GRANT REPLICATION slave ON *.* TO mastersl@localhost identified by 'mastersl';
FLUSH PRIVILEGES;
切换到从库(slave),将主库和从库连接起来
change master to master_host='127.0.0.1(主库ip)',master_port=3306(主库端口),master_user='mastersl(主库设置的用户)',master_password='mastersl(主库中设置的用户密码)',master_log_file='master-bin.000002(主库中master的File值)',master_log_pos=0;
start slave; --开启主从同步
show slave status ; --查看slave状态
master中操作数据库,slave中可以看到同样的数据变化。