20151018作业---MariaDB、编译LAMP及samba

第一部分:MariaDB基础总结

1、基础

A:MariaDB为C/S架构:同一主机基于Unix Sock,不同主机基于TCP/IP,监听3306端口

B:配置文件: /etc/my.cnf --> /etc/mysql/my.cnf --> ~/.my.cnf  后面配置的优先级最高

C:mysql客户端登陆

-u USERNAME: 连接Server使用的账号;管理员为root;(非OS)    
   -h HOSTNAME or IP:连入的Server    
  -p PASSWORD:前面使用-u选项指定的用户的密码;

D:安装方式

源代码

通用二进制:解压后直接运行

包管理器

2、表管理

包括DDL与DML二种,其中DDL包括创建、修改、删除数据库,DML包括增、删、查、改相应表

A:创建表:

通过help create table查看帮助文件

CREATE TABLE [IF NOT EXISTS] tbl_name (col1 type1 dec1, col2 type2 dec2, ...)

示例:create table test.techers(tid int unsigned not null auto_increment primary key,    
name varchar(50) not null,age tinyint unsigned,gender enum(‘f‘,‘m‘) default ‘m‘,    
echeng varchar(100),unique key(name,kecheng));

B:删除表:Drop table删除表

C:查询

SELECT    
    [DISTINCT] #去重    
    [SQL_CACHE | SQL_NO_CACHE]    
    col_name AS Alias, col_name AS Alias, ...    
   [FROM table_references    
   [WHERE where_condition]    
   [ORDER BY {col_name | expr | position}    
   [ASC | DESC], ...]

限制条件:

WHERE后的条件表达式:    
     >, <, >=, <=, ==, !=    
   BETWEEN ... AND ...    
   LIKE ‘pattern‘    
     _    
    %    
    RLIKE ‘pattern‘

示例:select * from test.techers where name rlike ‘^[a-m].*i.*$‘

利用正则表达式,查询以子母a到z开头的名称

D:插入:

INSERT [INTO] tbl_name [(col_name,...)]{VALUES | VALUE} ({expr | DEFAULT},...),(...),...

要求前后字段数量相同

示例:

insert into test.techers (name,age,classid,gender,kecheng) values (‘emily‘,18,119,‘f‘,‘tulongdao‘);

E:修改:alter table

change修改表字段,名称等    
modify只能修字段定义,不能修改名称

示例:alter table test.techers add classID smallint UNSIGNED not null after name;

F:修改数据update

UPDATE:    
   UPDATE table_reference    
   SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...    
   [WHERE where_condition]    
   [ORDER BY ...]    
   [LIMIT row_count]

示例:update test.techers set age=20 where tid =1; #修改tid为1的年龄

3、索引管理

A:创建索引

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name ON tbl_name (index_col_name,...)

B:删除索引

DROP INDEX index_name ON tbl_name

4、用户权限管理

A:授权:如果用户事先不存在,则创建此账号并授权

GRANT priv1,... ON db_name.tbl_name TO ‘username‘@‘host‘ [IDENTIFIED BY [PASSWORD] ‘password‘];

示例:grant all on test.* to ‘wpuser‘@‘%‘;  #表示text库中所有表

可利用show grants [for user]查看已获得权限

示例:show grants for ‘wpuser‘@‘%‘;

B:回收权限

REVOKE priv1,... ON db_name.tbl_name FROM ‘username‘@‘host‘;

示例:

#revoke insert,update on test.* from ‘wpuser‘@‘%‘;    
   收回wpuser在test库中所有表的插入、update权限



第二部分:编译安装LAMP,其中分别实现

(1)把php编译成为httpd的模块

第一步:编译安装httpd24

1、暂时原httpd服务,分别利用yum和ftp安装

yum安装pcre-devel  zlib-devel

yum groupinstall "Development Tools" "Server Platform Development" –y

apr-1.5.0.tar.bz2 apr-util-1.5.3.tar.bz2 httpd-2.4.9.tar.bz2

2、按照顺序进行安装

先安装apr-1.5.0.tar.bz2

然后apr-util-1.5.3.tar.bz2

最后是httpd-2.4.9.tar.bz2

A:解压安装APR

./configure --prefix=/usr/local/apr目录 #该目录为新指定目录防止与原安装冲突

配置后运行make  && make install

B:安装apr-util-1.5.3.tar.bz2

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr  #利用with-apr指定新apr路径

安装完成运行make && make install

C:安装httpd

运行以下脚本

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --
enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/
local/apr --with-apr-util=/usr/local/apr-util/ --enable-moudles=most --enable-mpms-shared=all --with-mpm=prefork

同时运行make && make install进行安装

D:配置及验证

1、apachectl路径

2、运行apachectl start启动服务

3、后续配置/etc/httpd24/httpd.conf主配置文件

第二步:安装mariadb

1、停止原mysql服务

2、创建新文件系统,mydata目录

3、下mariadb-5.5.40-linux-x86_64解压/usr/local目录

创建软连接ln –sv mariadb-5.5.40-linux-x86_64 mysql

4、卸载原mysql

yum remove mysql-server mysql

5、修改权限mysql 用户和mysql用户组

6、根据环境复制配置文件,复制前将/etc/mysql目录创建

7、编译mysql库

scripts/mysql_install_db --user=mysql --datadir=/data/mydata/

8、 /etc/mysql/my.cnf中datadir=/data/mydata

9、修改环境变量/etc/rc.d/init.d/mysqld,启动mysql

第三步:安装编译php

1、通过yum install额外安装:libxml2-devel, libmcrypt-devel, bzip2-devel

2、php-5.4.42.tar.bz2进行编译安装

3、make && make install

4、复制配置目录下的php.ini.production至/etc/php目录

将修改时区

5、编辑/etc/httpd24/httpd.conf文件,加载相应模块

6、编辑/etc/httpd24/httpd.conf文件

添加以下

同时在index部分添加

DirectoryIndex index.php index.html

7、重新载入测试页

8、配置php与mysql通信

编辑/usr/local/apache/htdocs/目录下index.php文件

测试

9、后续可利用ab工具进行相应的测试

可分为动态与静态二种方式

(2)php以fpm工作为独立守护进程

php为独立守护进程的区别是以单独进行的形式存在,这里区别在于编译时参数调整。之前

内容相同。这里不说明,后续从编译开始说明(区别是—enable-fpm)

1、删除原php5.4.42解压目录,重新解压,运行脚本重新

./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=

/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png

-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --

with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2

2、编译完成make && make install

3、修改配置文件

# cp php.ini-production /etc/php.ini

配置php-fpm

为php-fpm提供SysV init脚本,并将其添加至服务列表:

# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm

# chmod +x /etc/rc.d/init.d/php-fpm

# chkconfig --add php-fpm

# chkconfig php-fpm on

4、编辑php-fpm.conf

主要修改pid = /usr/local/php5/var/run/php-fpm.pid

5、启动验证

利用 service php-fpm start 启动

ps aux | grep php-fpm

同时利用netstat –tnlp|grep php-fpm,监控在9000端口

6、配置fastcgi

修改/etc/httpd24/httpd24.conf

启用以下二个模块

LoadModule proxy_modulemodules/mod_proxy.so

LoadModule proxy_fcgi_modulemodules/mod_proxy_fcgi.so

配置代理

7、启动验证,利用AB工具进行相应的



第三部分:

时间: 2024-10-12 20:18:08

20151018作业---MariaDB、编译LAMP及samba的相关文章

Centos7最小化安装下安装,编译lamp环境

centos7默认的php是5.5,mysql已经变为mariadb,如果想要自定义的配置,需要自己手动来编译配置.以下步骤在公司服务器上已经正常操作过. 1.安装centos7选择基本安装,配置完网络后首先要先关闭firewall: 停止firewall # systemctl stop firewalld.service 禁止firewall开机启动 # systemctl disable firewalld.service 2.安装iptables防火墙 yum方式安装iptables #

Shell脚本自动部署(编译)LAMP平台

Shell脚本自动部署(编译)LAMP平台 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装LAMP有以下几个优点 根据生产环境灵活定制程序 优化编译参数,提高性能 解决不必要的软件依赖 友情提示:对编译安装有疑问的朋友, 查看我以前写的博客:教你使用rpm.yum.编译等方式安装软件 点击此处获得更好的阅读体验 为什么要用脚本进行部署? 在很多情况下部署LAMP平台并不止一

在CentOS6上使用源码编译LAMP平台

最近在学习重要的Web服务,当然也就少不了很重要的httpd和php.而动态网站必定又会使用数据库如mysql之类的,那么,今天就总结一下最近做的LAMP平台编译实验.具体过程如下. 实验名:在CentOS6上使用源码编译LAMP平台 实验环境:CentOS6.5,安装时选择了使用最多的两个开发包组. 使用系统默认基本yum源+epel6源(aliyun: http://mirrors.aliyun.com/repo/epel-6.repo) 使用源码包:httpd-2.4.9 ;二进制安装包m

MySQL核心概念及MariaDB编译安装

MariaDB安装方式:      ①rpm包:                os vendor                mysql                通用二进制格式       ②源码包 编译方式安装mariadb: 编译安装MariaDB cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台

简单编译LAMP

前期准备,需要安装开发工具包 安装方法:yum groupinstall "Development tools" 一.httpd 1.安装apr 软件包:apr-1.4.6.tar.bz2 [[email protected] httpd]# tar xf apr-1.4.6.tar.bz2 [[email protected] httpd]# cd apr-1.4.6 [[email protected] apr-1.4.6]# ./configure --prefix=/usr/l

编译LAMP部署动态网站环境

title: 编译LAMP部署动态网站环境 date: 2018-11-08 19:08:41 tags: Linux 服务配置 categories: Linux 服务配置 copyright: true --- LAMP动态网站部署架构是由一套 Linux+Apache+MySQL+PHP 组成的动态网站系统解决方案. 以下配置环境为:Linux=RHEL7 --> Apache=2.4.33 --> MySQL=5.5 --> PHP=7.0 无错误版. 安装准备环境 ◆安装gcc

实践作业之编译安装LAMP

题目1:httpd所支持的处理模型有哪些,他们的分别使用于哪些环境. (1)prefork模型: 功能:多进程模型,每个进程响应一个请求 工作方式: ①一个主进程:负责生成子进程及回收子进程(工作进程),负责创建套接字,负责接收请求,并将其派发给某子进程进行处理 ②n个子进程:每个子进程一个请求 主控进程会预先生成几个空闲子进程,随时等待用于响应用户请求.根据处理过程,可能会改变空闲进程的数量,需要定义最大空闲和最小空闲 (2)worker模型: 功能:多进程多线程模型,每个线程处理一个用户请求

CentOS 6 编译LAMP 实现双机FastCGI

需求: CenOS 6平台搭建LAMP,其中php作为独立的服务工作 (1)三者分离于两台主机 (2)一个虚拟主机用于提供phpMyAdmin:另一个虚拟主机提供wordpress (3)安装下cache,为php提供加速 (4)mpm为prefork模型 注意: (1)由于httpd是cpu密集型,php是io密集型,而mariadb即是cpu密集型又是io密集型.所以我们将httpd和php放在一台主机上,mariadb单独放在一台主机上 (2)由于CentOS 6平台仅提供了mysql的r

源码手工编译LAMP架构搭建Discuz论坛(内附源码包)

简介 Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注.从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决