18、mysql读写分离实现的方法


18.1、mysql读写分离实现的方法:

1、通过程序实现读写分离:

php和java程序实现读写分离(性能,效率最佳,推荐);

php和java程序都可以通过设置多个连接文件轻松实现对数据库的读写分离,即当

select是,就去连接读库的连接文件,当时update,insert,delete时就连接写库的连接

文件;

2、通过软件实现读写分离:

mysql-proxy等代理软件也可以实现读写分离功能,但是最常用好用的还是程序实现

读写分离;

3、开发dbproxy;

扫描二维码关注公众号,回复: 9191025 查看本文章

18.2、读写分离注意的事项:

当配置好mysql的主从复制后,所有对数据库内容的更新就必须在主服务器上进行,因为

数据的复制时单项的,只有在主库上更新,才能避免用户对主服务器上数据库内容的更新与

对从服务器上数据库内容的更新一致,而不会发生冲突;

18.3、读写分离实现策略:

1、读写分离策略:


写库

权限

密码

端口号

ip地址

web

select,insert,delete,updata同步主库的mysql库到从库;

123456

3306

172.16.1.41

读库

web

收回insert,delete,updata权限(主从切换不方便);或者不收回权限,修改配置参数为read-only;

123456

3306

172.16.1.42



2、注意:

(1)如果主库宕机了修改需要去除从库my.cnf配置文件中的read-only参数;

(2)read-only参数对超级用户和‘all privileges’权限的用户无效;

(3)启动的时候加--read-only参数和在my.cnf中配置的效果是相同的;

3、写主库的授权命令:

grant selelct,insert,update,delete on blog.* to 'blog'@'172.16.1.%' identified by '123456';

4、读从库的授权命令

grant select on blog.* to 'blog'@'172.16.1.%' identified by '123456';

5、在主库上设置主从同步时同步和不同步的库:

#binlog-do-db = test

#允许同步的数据库,默认允许所有的库同步;

#binlog-ignore-db = information_schema

#binlog-ignore-db = performance_schema

#主从同步时设置不需要同步的库;








猜你喜欢

转载自www.cnblogs.com/LiuChang-blog/p/12315868.html