一、方案分析:
我们构建出三个服务器,两个为Web服务器,一个为MySQL的数据服务器。其中两个Web服务器将接收到的数据请求直接连入最底层的MySQL服务器。将所有的数据都存储在MySQL服务器上。
这里我们采用Wordpress这款时下最流行的个人博客站点来当做我们的测试网站。
二、实现方法:
我们采用实用nfs共享的机制,实现让Mysql服务器的数据直接共享给两个Web服务器,然后数据通过Web服务器访问进来的时候,会自动通过php找到位于其他主机上的Mysql数据库。
三、实现方式:
1.配置Mysql服务器:
首先我们要配置我们的yum安装源的位置。
之后确保重要的开发包都已经成功安装,他们分别是:
"DevelopmentTools"
"DevelopmentLibraries"
"LegacySoftware Development"
"X SoftwareDevelopment"
"MySQLDatabase"
"WebServer"
之后,为mysql创立mysql用户和组:
groupadd -g 3306mysql
useradd -u 3306-g mysql -M -s /sbin/nologin mysql
在任何一台主机上不要忘记关闭selinux
serenforce 0
我们创建一个存放数据的目录,将已经配置好的逻辑卷挂载至上面(/mydata)
并且给它mysql的权限:
chown -R mysql:mysql /mydata
将下载到的mysql-5.5.15-linux2.6-i686.tar.gz解压至/usr/local
tarxf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local
创建一个链接目录,使之简单的目录名成为我们的工作目录:
cd /usr/local
ln -sv mysql-5.5.15-linux2.6.i686 mysql
把mysql目录的属主属组都改为mysql用户,mysql组
cd mysql
chown -R mysql:mysql .
初始化Mysql
scripts/mysql_install_db --user=mysql--datadir=/mydata/data
此时mysql尚且不能启动
要把属主改为root用户
chown -R root .
给mysql准备启动所需要的服务的脚本
cp support-files/mysql.server/etc/init.d/mysqld
加入到服务队列
chkconfig --add mysqld
开机启动启动
chkconfig mysqld on
这个时候如果启动的话会报错的,默认情况下mysql会到它的安装目录下找data目录作为它的数据目录的。
给它准备主配置文件
cp support-files/my-large.cnf /etc/my.cnf
编辑这个文件给他一个datadir目录
vim /etc/my.cnf
加入: datadir =/mydata/data
并将thread_concurrency= 改为你的CPU核心数*2的数字
此时才可以正常启动
service mysqld start
如果启动错误,一定要到/mydata/data/localhost.localdomain.err下去看它的说明的错误信息。
此时我们的Mysql尚且没有完全准备完成,我们还需要准备它的库文件,头文件。
导入库文件:
vim/etc/ld.so.conf.d/mysql.conf
加入:/usr/local/mysql/lib
ldconfig
使用ldconfig重新载入
导入头文件,PATH环境变量:
ln -sv /usr/local/mysql/include/usr/include/mysql
vim /etc/profile
写入:PATH=$PATH:/usr/local/mysql/bin
至此,我们的Mysql已经全部安装完成,可以正式启动了:
servicemysqld restart