读写分离,基本思想是让主数据库处理增,删,改,的操作(INSERT、DELETE 、 UPDATE)而从数据库处理SELECT查询操作。
在高并发的业务场景中,除了实现分布式负载均衡之外。到了数据业务层、依然是传统的数据结构,只是单单靠一台服务去支撑这样的高并发,巨多的数据库连接操作,数据库必然会头大,造成数据丢失的话,后果太可怕了。减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金允许,必然会想到假设服务器群,来分担主数据库的压力。或者就可以考虑利用MySQL主从配置,实现读写分离,减轻数据库压力。
#授权node3用户用SELECT权限
grant select on *.* to 'node3'@'localhost' identified by '123456' with grant option;
#查看用户node3 的权限
show grants for "node3"@"localhost";
#停止从节点
stop slave;
#salve上配置只读(想让那个节点只读,就在那个节点上添加。)
read_only=1;#只读模式
#重置
reset slave;
#连接 master 主节点 master_log_file, master_log_pos 主节点查看 show master status\G;
change master to master_host='127.0.0.1',master_port=3306,master_user='node3',master_password='123456',master_log_file='mysql-bin.000006',master_log_pos=1576;
#启
start slave;
#查看是否异常
show slave status \G;