集群:
思考哪些节点需要装mysql数据库?
答:需要装mysql数据库的节点有
定义:高可用的负载均衡。
集群成员:
两台数据节点 ndbd,数据存放的点,也是SQL存放的点,这个数据节点不止一个 10.14 10.15
两台SQL节点 mysqld要运行数据库mysqld,其他的不需要运行,SQL节点可以对外提供服务,其他人可以连接SQL节点,可读可写 10.12 10.13
一台管理节点 ndb_mgmd 10.11
一台其他人 192.168.10.1
5台虚拟机都需要这个包mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mkdir -p /usr/local/mysql
解压移动并重命名/usr/local/mysql/mysql-cluster
useradd -M -s /sbin/nologin mysql5台虚拟机创建数据库用户
chown -R mysql.mysql /usr/local/mysql/mysql-cluster
创建配置文件
mkdir -p /usr/local/mysql/mysql-cluster/conf
vim /usr/local/mysql/mysql-cluster/conf/mysql-cluster.cnf
复制笔记里的5段
[ndbd default]
NoOfReplicas=2(一台SQL机改为1)
DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
id=1
hostname=192.168.10.11
datadir=/usr/local/mysql/mysql-cluster/data
[ndbd]
id=2
hostname=192.168.10.14
datadir=/usr/local/mysql/mysql-cluster/ndbdata注意这个目录要存在
[ndbd]
id=3
hostname=192.168.10.15
datadir=/usr/local/mysql/mysql-cluster/ndbdata注意这个目录要存在
[mysqld]
id=4
hostname=192.168.10.12
[mysqld]
id=5
hostname=192.168.10.13
管理配置文件就好了
SQL1节点配置:
vim /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring 192.168.10.11
[mysql_cluster]
ndb-connectstring 192.168.10.11
另外一台
vim /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring 192.168.10.11
[mysql_cluster]
ndb-connectstring 192.168.10.11
ndbd节点,先创建目录
mkdir /usr/local/mysql/mysql-cluster/ndbdata
chown -R mysql.mysql /usr/local/mysql/mysql-cluster/ndbdata
另一台也一样
ndbd节点配置:
vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/mysql-cluster/ndbdata
ndbcluster
ndb-connectstring 192.168.10.11
[mysql_cluster]
ndb-connectstring 192.168.10.11
另外一台
vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/mysql-cluster/ndbdata
ndbcluster
ndb-connectstring 192.168.10.11
[mysql_cluster]
ndb-connectstring 192.168.10.11
5台配置好了之后初始化SQL节点(第一步是初始化SQL节点,然后依次是启动管理节点、启动数据节点、启动SQL节点、最后用管理节点查看集群状态)
/usr/local/mysql/mysql-cluster/scripts/mysql_install_db--user=mysql
另一台也是的
ls /usr/local/mysql/mysql-cluster/data看到有东西就初始化成功了
管理机:
启动manager节点(注意顺序,启动之前要把mysqld服务关掉)
/usr/local/mysql/mysql-cluster/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/conf/cluster.cnf
关闭管理机节点是/usr/local/mysql-cluster/bin/ndb_mgm-e shutdown
启动数据节点
/usr/local/mysql/mysql-cluster/bin/ndbd
另一台也是
启动SQL节点
/usr/local/mysql/mysql-cluster/bin/mysqld_safe--user=mysql &
另一台也是
为什么启动数据库的时候出现了ended,初始化数据库的时候看有没有报错,看下data里面的错误日志,启动数据库的时候再看下错误日志,发现初始化的时候没有任何问题,没有错误日志,但是启动SQL服务的时候就出现了错误日志,显示不能连接到管理机的ip,而管理机的show会出现10.78,命名配置文件写的是1.78为什么总是认为是10.78
/usr/local/mysql/mysql-cluster/bin/ndb_mgm -e show管理节点查看集群状态
SQL1机:
创建一个表叫t1并插入值,默认引擎为InnoDB
alter table t1 engine=ndbcluster要使用集群的话要将引擎设置为ndbcluster
设置好引擎后可以用SQL2机查看刚才创建的表
记住:初始化数据库命令/usr/local/mysql/mysql-cluster/scripts/mysql_install_db--user=mysql,启动数据库的命令/usr/local/mysql/mysql-cluster/bin/mysqld_safe--user=mysql &,进入管理界面的命令/usr/local/mysql/mysql-cluster/bin/ndb_mgmd,启动数据节点的命令/usr/local/mysql/mysql-cluster/bin/ndbd
LAMP:
linux、apache、mysql、php
LNMP:
linux、nginx、mysql、php
netstat -luantp | grep 3306起来了就关掉
/usr/local/mysql-cluster/bin/ndb_mgm -e shutdown
/etc/my.cnf修改
拷贝包解压
cd到lamp-2017
ls
rpm -q httpd apr
yum remove httpd安装的卸载掉
第一步安装apr,因为编译检测的时候需要apr
apr 安装(apache编译检测时需要使用apr编译检测)
# tar -xf apr-1.5.2.tar.gz -C /usr/src
# cd /usr/src/apr-1.5.2
# ./configure --prefix=/usr/local/apr
# make && make install
apr-util安装
tar xf apr-util-1.5.4.tar.gz -C /usr/src
cd /usr/src/apr-util-1.5.4
./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr
make && make install
apache 安装 如果有问题可能是pcre-devel软件包没有安装
yum install libxml2-devel bzip2-devel -y
tar xf httpd-2.4.23.tar.gz -C /usr/src/
cd /usr/src/httpd-2.4.23/
./configure --prefix=/usr/local/apache--sysconfdir=/etc/httpd --enable-modules=all --enable-mods-shared=all--enable-so --enable-ssl --enable-cgi --enable-rewrite--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre--with-libxml2 --with-mpm=event --enable-mpms-shared=all
# make && make install
ll /usr/local/apache/bin里面有启动命令
PHP安装
# tar xf php-5.5.30.tar.gz -C /usr/src/
# cd /usr/src/php-5.5.30/
安装php所需依赖包
# yum install libxml2-devel bzip2-devel -y
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs--with-config-file-path=/etc/ --with-config-file-scan-dir=/etc/php.d/--with-libxml-dir --with-openssl --with-pcre-regex --with-zlib --with-bz2--with-libxml-dir --with-pcre-dir --with-jpeg-dir --with-png-dir--with-zlib-dir --with-freetype-dir --enable-mbstring--with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config--with-libxml-dir --enable-zip --enable-maintainer-zts
xml2-config没找到
yum provides */
yum install -y xml...
BZip2
yum search
yum install -y bzip2-...
#make && make install
vim /etc/httpd/httpd.conf
238 htdocs (/usr/local/apache/htdocs)
apache支持php的网页
# vim /etc/httpd/httpd.conf //添加蓝色字体
271 <IfModule dir_module>
272 DirectoryIndex index.php index.html
273 AddHandler php5-script .php
274 AddType text/html .php
275 </IfModule>
重启httpd服务
/usr/local/apache/bin/httpd -k restart &>/dev/null
测试php和apache的连接
-------------------------------------------------------
# cd /usr/local/apache/htdocs
# rm -rf index.html
# vimindex.php
<?php
phpinfo();显示php的信息
echo haha;
?>
ip/index.php可以访问
安装农场
1.解压软件 解压的软件包叫upload
# unzip farm-ucenter1.5.zip(tar不能解压zip包,需要用unzip解压)
2.# rm -rf /usr/local/apache/htdocs/*
3.# cp -r upload/* /usr/local/apache/htdocs/
cd /usr/local/apache/htdocs/upload
ls
chmod 777 bbs home ucenter将这些目录设777权限
mysql进入数据库授权一个新用户
create database farm;
grant all on farm.* to farmer@localhost identifiedby ‘123’;
flush privileges;
\q
mysql -D farm < qqfarm.sql
您已经成功安装过论坛,如果想要重新安装,请删除 forumdata 目录下的 install.lock 文件,然后刷新重试
输入ip访问的一直都是安装完成页面,进不去qq农场,需要将install目录改个名字mv install install.bak
在网页里面注册账号、登陆qq农场
这个php语言厉害了:
<?php
if(!file_exists('./install/install.lock')&& is_dir('./install')) {
echo'<script>location.href="install/index.php";</script>';
}
if(file_exists('./bbs/forumdata/index.lock')) {
echo'<script>location.href="bbs/index.php";</script>';
}
if(file_exists('./home/data/index.lock')) {
echo'<script>location.href="home/index.php";</script>';
}
?>
思考:
apache、php、mysql都在一台服务器上,怎么减轻压力?
把mysql分离,装在另一台机器上,php调用mysql数据库的话就去另一台机器上的mysql