一 mysql读写分离的概念
写在主库,主库一般只有一个,读可以分配在多个从库上,如果写压力不大的话,也能把读分配到主库上.
实现是基于atlas实现的,atlas是数据库的中间件,程序只需要连接atlas入口,无需读写单独指定,atlas决定在那个数据库进行读或者写操作,可以实现mysql的读写分离
atlas是一台独立的机器,目前实验把atlas配置在192.168.132.122上
主库+从库 给予atlas读写的权限
主库:192.168.132.121mysql> grant all privileges on *.* to 'atlas'@'192.168.132.122' identified by '1234567';
Query OK,0 rows affected, 1 warning (0.01sec)
mysql>flush privileges;
从库:192.168.132.122mysql> grant all privileges on *.* to 'atlas'@'192.168.132.122' identified by '1234567'; #atlas连接数据库的用户名是atls,密码是1234567
Query OK,0 rows affected, 1 warning (0.00sec)
mysql>flush privileges;
atlas对主端和从端都有了读写权限
二 安装atlas
Atlas下载地址
[root@slave ~]# cd /usr/local/src/
[root@slave src]# yum install epel-release -y
[root@slave src]# yum install openssl-devel autoconf gcc glib2 glib2-devel libevent-devel flex-devel flex jemalloc jemalloc-devel lua-devel -y
[root@slave src]# wget https://github.com/Qihoo360/Atlas/releases/download/sharding-1.0.1/Atlas-sharding_1.0.1-el6.x86_64.rpm
[root@slave src]# rpm -ivh Atlas-sharding_1.0.1-el6.x86_64.rpm
[root@slave src]# cd /usr/local/mysql-proxy/
[root@slave mysql-proxy]# ll
[root@slave mysql-proxy]# ./bin/mysql-proxy --version
三 配置读写分离
密码加密
[root@slave mysql-proxy]# /usr/local/mysql-proxy/bin/encrypt '