在配置的过程成发现有些地方没说清楚,绕过了几个坑才配置完成的。
首先你玩的话肯定是在本地玩,流程没问题你才到服务器上配置。
我使用的镜像版本CentOS-7.0-1406-x86_64-Minimal.iso系统,我比较喜欢Mini版,因为才500多m
镜像安装教程:http://www.360doc.com/content/15/1013/10/18232756_505284501.shtml
yum -y install wget
yum -y install setup
yum install perl
PS:可以先安装好一台,其它两台镜像复制即可
准备好三台服务器,一台做master,另外两台为
slave:master:192.168.153.128(主) 注意你安装的系统的ip可能跟我不一样的,通过指令 ip -a 来查看自己的本地ip
slave:192.168.153.129
slave:192.168.153.130
直接lnmp一键环境,方便,你懂得。怎么搭建你到这个网站查看(http://www.lnmp.org)安装的时候注意mysql选择版本是5.7的,安装完成了以后记得使用ip在自己本地系统浏览器上看能不能打通
master配置:
server-id=2 #slave的标示 ,192.168.153.129这台服务器配置
server-id=3 #slave的标示 ,192.168.153.130这台服务器配置
grant replication slave on *.* to 'repl_user'@'%' identified by '123456';
'repl_user' 代表用户名 '123456'表示密码 '%'表示所有ip都可以访问
show master status;
显示如下图:
stop slave;
change master to
master_user='repl_user',master_password='123456',master_host='192.168.153.128',master_port=3306,master_log_file='mysql-bin.000013',master_log_pos=154;
start slave;
检查是否成功:
show slave status\G;
①编程的时候要注意,master来写数据,slave负责读,不要去slave写数据,否则就同步不了。如果同步不了就重启一下stop slave; 那个步骤
扩展,TP框架的读写分离配置,我的配置文件如下:
读写分离的话使用两台服务器就可以了,第三台拿来备份
thinkphp读写分离
'DB_DEPLOY_TYPE'=> 1,
'DB_RW_SEPARATE'=>true, //启用智能读写分离
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => '192.168.153.128,192.168.153.129', // 数据库服务器地址 master(写)/slave(读)
'DB_NAME' => 'test', // 数据库名
'DB_USER' => 'master,slave', // 用户名
'DB_PWD' => '123456,123456', // 密码
'DB_PORT' => 3306, // 端口
'DB_PREFIX' => '', // 数据库表前缀
'DB_CHARSET'=> 'utf8', // 字符集