mysql集群架构方式很多,根据不同的需求做不一样的架构,简单一点的就是mysql的replication,也就是Mysql的复制功能,模式有:master-slaves,master-slaves-slaves,master-master-slaves等可以有多个分层,那么现在我所要说的是master-slaves的模式(其他的模式原理基本都一样),然后再通过mysql官方提供的Mysql-proxy实现读写分离,达到负载均衡的效果。
环境:
主机:master:192.168.1.109,slave1:192.168.1.110,mysqlProxy:192.168.1.112。(workstation10平台创建虚拟机模拟)
操作系统:Red Hat Enterprise Linux Server release 5.8
mysql:mysql-5.5.37-linux2.6-i686.tar.gz
mysql-proxy:mysql-proxy-0.8.4-linux-glibc2.3-x86-32bit.tar.gz
1、安装mysql:
[iyunv@localhost ~]# cd /usr/local //进入到安装目录
[iyunv@localhost local]# tar -zxvfmysql-5.5.37-linux2.6-i686.tar.gz //解压mysql二进制包
[iyunv@localhost local]# ln -smysql-5.5.37-linux2.6-i686 mysql //解压之后加上链接
[iyunv@localhost local]# groupadd mysql //增加mysql用户组
[iyunv@localhost local]# useradd -g mysql mysql //增加mysql用户帐号
[iyunv@localhostlocal]# cd mysql //进入安装之后的mysql目录
[iyunv@localhost mysql]# chown -R root:mysql . //修改文件属组和属主,注意该命令后面有一个点,表示当前目录
[iyunv@localhost mysql]# chown -R mysql:mysql data/ //把data目录的属主改为mysql
[iyunv@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf //拷贝mysql配置文件放在etc目录下并改名为my.cnf
[iyunv@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld //拷贝mysql的启动脚本放在/etc/init.d/目录下
[iyunv@localhost mysql]# service mysqld start //启动mysql
至此mysql安装已经结束,接下来就是mysql的主从配置。(其他两台主机也照此安装mysql)
2、配置master:
[iyunv@localhost mysql]# vi /etc/my.cnf //编辑配置文件
server-id=1 //默认是1,不是的话则改为1
thread_concurrency = 2 //线程并发数(CPU*2)
log-bin=mysql-bin //打开二进制日志功能
保存退出,重新启动mysql。
登入mysql:
[iyunv@localhost mysql]# mysql -uroot -p //默认密码空,直接敲回车进入
mysql> grant replication slave on *.* to repl@'192.168.1.%' identified by '123456';
mysql>flush privileges;
mysql>show grants for 'repl'@'192.168.1.%'; //查看授权,有记录说明ok
mysql>show master status\G; //查看master服务器状态,有二进制日志文件名和记录位置(position)
至此mysql配置完成。