mysql主从复制和读写分离与LNMP结合项目
1、 同步时间主mysql服务器设置开机自动启动
修改时间服务器主配置文件
启动ntp服务设置开机自动启动
同步时间
安装mysql
主
安装依赖程序
进入安装位置
配置安装mysql
编译安装mysql
生成主配置文件
生成服务控制文件
添加服务开机自动启动
优化mysql命令
创建mysql管理组将mysql用户添加到管理组里面
设置目录所有者为mysql用户和组
初始化mysql服务
启动服务并设置开机自动启动
验证端口3306
创建mysql账户并登录验证
从01和02验证
01
02
2、 修改主配置文件实现从复制
主
[[email protected] ~]# vim /etc/my.cnf
49 log-bin=mysql-bin 启二进制日志
57 server-id = 10 sql服务器的ID为10
58 log-slave-update = ture 开启日志复制功能 允许从服务器复制主
重启服务
从1
[[email protected] ~]# vim /etc/my.cnf
49 log-bin=mysql-bin 开启二进制功能
57 server-id = 20 从MySQL服务器的ID为20
58 relay-log=relay-log-bin 设置读取日志
59 relay-log-index=slave-relay-bin.index 从master复制日志
重启服务
从2
[[email protected] ~]# vim /etc/my.cnf
49 log-bin=mysql-bin 开启二进制功能
57 server-id = 30 从MySQL服务器的ID为30
58 relay-log=relay-log-bin 设置读取日志
59 relay-log-index=slave-relay-bin.index 从master复制日志
重启服务
在主mysql服务器给从服务器授权
grant replication slave on . to ‘slave’@‘192.168.100.%’ identified by ‘[email protected]’;
查看主服务的状态
登录从服务器设置数据同步
从1
change master to master_host=‘192.168.100.30’,master_user=‘slave’,master_password=‘[email protected]’,master_log_file=‘mysql-bin.000004’,master_log_pos=263;
从2
启动节点
从1
从2
查看从节点状态
验证主从复制
主
从
3、 配置读写分离
配置hosts文件主动名字
[[email protected] ~]# vim /etc/hosts
192.168.100.30 master
192.168.100.10 slave01
192.168.100.20 slave02
Scp复制到其他俩台服务器上
从主中复制jdk和amoeba到centos04amoeba服务器中
解压jdk将jdk放到当前目录下
[[email protected] src]# ./jdk-6u14-linux-x64.bin
移动安装目录
[[email protected] src]# mv jdk1.6.0_14/ /usr/local/jdk
创建amoeba安装目录
[[email protected] ~]# mkdir /usr/local/amoeba
解压到安装目录
[[email protected] ~]# tar zxvf /usr/src/amoeba-mysql-binary-2.2.0.tar.gz -C usr/local/amoeba
设置环境变量
更新变量
[[email protected] ~]# source /etc/profile.d/jdk.sh
检查jdk版本
[[email protected] ~]# java -version
4、 配置amoeba服务
设置amoeba访问mysql账户(在主服务器上创建bob)
mysql> grant all on . to ‘bob’@'192.168.100.%'identified by ‘[email protected]’;
修改amoeba登录用户和密码
[[email protected] ~]# vim /usr/local/amoeba/conf/amoeba.xml
30 amoeba 设置账户
31 [email protected] 设置密码
114 master 默认池为master
115 master 指定被写的服务器
116 slaves 指定被读的服务器 slaves有多个从服务器
修改amoeda服务器配置文件添加服务器
[[email protected] ~]# vim /usr/local/amoeba/conf/dbServers.xml
映射账户密码bob [email protected]
26 bob 映射账户主服务器数据库中的bob
27 [email protected] 映射密码
42 在池中添加master
43
44 192.168.100.10 IP地址
45
46
47 添加第一台从服务器
48
49 192.168.100.20 IP地址
50
51
52 添加第二台从服务器
53
54 192.168.100.30 IP地址
55
56
58 添加组slaves
59
60 1
61 slave01,slave02 包含的服务器salve01和slave02
62
63
启动服务并监听端口
配置客户端验证主从复制和读取分离
登录amoeba服务器
创建测试表
查看从服务器是否同步
停止服务器客户端添加表数据验证是否读写分离
客户端创建tom并查看验证
开启服务在验证读写分离
开启
5、 配置lnmp.
L:linux系统
N:nginx
M:mysql
P:php
安装nginx
创建管理账户
安装依赖程序
切换linux光盘解压nginx压缩包
配置
编译安装
优化nginx命令
启动nginx服务
[[email protected] ~]# nginx
[[email protected] ~]# nginx -t 检查
[[email protected] ~]# killall -s HUP nginx 停止 -1=-s HUP
[[email protected] ~]# killall -s QUIT nginx 重启 -3=-s QUIT
检查
监听端口
客户端访问验证
配置nginx和DNS实验域名访问www.benet.com
配置正向解析
启动服务设置开机自动启动
配置DNS指定
验证
6、 安装配置php发布phpmyadmin程序
安装php依赖程序
解压
配置php
编译安装
生成php主配置文件
优化命令
移动加速安装zendguardloader
配置php主配置文件
生成php-fpm主配置文件
修改php-fpm进程解析
[[email protected] ~]# vim /usr/local/php/etc/php-fpm.conf
25 pid = run/php-fpm.pid 确认pid文件位置
140 user = nginx 运行的用户
142 group = nginx 运行的组
152 listen = 192.168.100.10:9000 监听IP地址100.30
启动php-fpm模块监听端口9000
7、 修改nginx支持lnmp平台部署论坛项目
修改nginx主配置文件
修改nginx主配置文件
location ~ .php$ {
root /var/www/benetcom/;
fastcgi_pass 192.168.100.30:9000;
fastcgi_index index.php;
include fastcgi.conf; 调用php-fpm进程
}
配置php测试文件
验证
8、 部署项目
将mnt下的项目cp到/root目录下
解压到跟目录下
删除测试并上线目录
删除
上线目录
修改目录权限
进入数据库中创建论坛数据库
授权bbs账户访问bbs数据库
安装项目