首页 > 代码库 > Linux 学习笔记 四

Linux 学习笔记 四

HP HYPERTEXT PREPROCESSER 

超文本预处理器

词法分析

语法分析

生成执行路径

opcode 操作码

PHP解释器

php 源代码 编译成 二进制  执行 二进制程序

zend:opcode PHP 的中间语言 

apache+php

cgi

module

fastcgi

nginx+fpm



数据库管理软件

1.数据库的创建、删除

2.创建表、删除、修改表

3.索引的创建和链接

4.用户和权限

5.数据的增删改查询操作

DML 数据操作语言

insert replace update delete

DDL 数据定义语言

create alter drop

DCL 数据控制语言

grant revoke 

select


RDBMS    EGRESQL 第一款关系数据库软件

ORACLE,SYBASS,INFOMAX  SQL SERVER DB2

MYSQL POSTGRESQL   enterpriseDB

反关系模型,nosql技术



DBMS

数据管理独立性

有效地完成数据存取

书包完整性和安全性

数据集中管理

并发存储与故障恢复

减少应用程序的开发时间

SQL : ANSI

sql86,sql89,sql92,sql99

MYSQL

社区版 community edtion

企业版 enterprise edtion

软件包格式

软件包管理器特有的格式

RPM包,.EXE  .msi

通用二进制格式

源程序

rhel 5.8

mysql,mysql-server

mysql

-u username

-p 

-h mysql server host

mysqld

tcp 3306端口 

用户:username@host

用户名@可登陆的主机

-h 127.0.0.1  

linux:socket  /var/lib/mysql/mysql.sock

windows:memory

sql客户端

交互式模式

批处理模式

执行MYSQL脚本

交互式模式中的命令类别

客户端命令

服务器端命令

都必须使用语句结束符,默认为分号;

SQL接口

oracle PLSQL

SQL SERVER  T-SQL

RDBMS:

/var/lib/mysql/

初始化

生产自主数据库 mysql

关系数据库对象:

索引

视图

约束

存储过程

存储函数

触发器

游标

用户

权限

事务

表:

行,列

表:实体

行,row 实体集

列:field ,column

字段名称,数据类型,类型修饰符(限制)

字符

CHAR{n}  

VARCHAR{n}

BINARY{n}

VARBINARY{n}

TEXT{n}

BLOB{n}

数值

精确数值

整型

十进制

近似数值

浮点型

日期

逻辑


创建数据库

CREATE DATABASE db_name;

CRAATE DATABASE IF NOT EXISTS db_name;

DROP DATABASE db_name;

调用库

USE DB_NAME;

创建表

CREATE TABLE tb_name(col1,col2,.......);

CREATE TABLE STUDENTS(NAME CHAR(30) NOT NULL,AGE TINYINT UNSIGNED,GENDER CHAR(1));

查看表 

SHOW TABLES FROM db_name;

查看字段

DESC tb_name;

删除表

DROP TABLE tb_name;


修改表

ALTER TABLE tb_name;

NODIFY 改内容

CHANGE 改名字

ADD

DROP

DML

INSERT INTO tb_name(col1,col2,...) VALUE|VALUES;

UPDATE tb_name SET colummn=value WHERE

DELETE FROM tb_name WHERE

REPLACE

SELECT 字段 FORM tb_name WHERE 条件

* 所有字段

不设置WHERE 表示所有行

选择:指定以某字段作为搜索码,做逻辑比较,筛选符合条件的行;

WHERE 指定选择条件

投影:选择需要的列,显示出

DCL

创建用户

CREATE USER ‘USERNAME‘@‘HOST‘ IDENTIFED BY ‘PASSWORD‘

DROP USER ‘USERNAME‘@‘HOST‘

HOST 

IP

HOSTNAME

NETWORK

通配符

_:匹配任意单给字符,172.16.0._ 

%:匹配任意长度的任意字符,

授权

GRANT PRI1,PRI2,....ON DB_NAME,TB_NAME TO ‘USERNAME‘@‘HOST‘;

取消授权

REVOKE PRI1,PRI2,....ON DB_NAME,TB_NAME FROM ‘USERNAME‘@‘HOST‘;

查看用户的授权

SHOW GRANTS FOR  ‘USERNAME‘@‘HOST‘;

ALL PRIVILEGES 所有权限

GRANT ALL PRIVILEGES ON DB_NAME.TB_NAME TO USER @ HOST;

为用户设定密码

1. mysql>SET PASSWORD FOR ‘USER‘@‘HOST‘=PASSWORD(‘password‘);

FLUSH PRIVILEGES 刷新授权表 使修改的密码生效

2. #mysqladmin -uUSERNAME -P旧密码 -Hhost PASSWORD ‘PASSWORD‘

3. mysql>UPDATE TABLE SET PASSWORD=PASSWROD(‘passwrod‘) WHERE USER=‘USER‘ AND HOST=‘HOST‘;

图形客户端工具

1.PHPmyadmin

2.workbench

3.mysql front

4.navicat for mysql 

5.toad 

LAMP 

phpmyadmin

论坛

discuz 腾讯收购

phpwind 阿里巴巴

phpbb

cms

druple

joomla

博客    wordpress 个人博客系统


PHP解释器---MYSQL 交互

HTTP+PHP

CGI         请求--http--启动独立CGI进程,完成后销毁进程,由http管理控制整个过程

MOUDLE 请求--http--不建立新进程在http内部调用模块,处理请求

FASTCGI 请求--http--启动独立服务,管理多个CGI的生命周期,需要启动新服务和进程,DEAMON SOCKET 9000

动态内容静态化,将动态请求访问得到的动态结果缓存成静态页面,加快访问速度,优化站点性能

LAMP

LINUX

APACHE (HTTPD) ASF(apache软件基金会,) 

PHP(PYTHON,PERL)

MYSQL

HTTPD:2.4.4

PHP:5.4.13

MYSQL:5.6.10   (RPM,通用二进制格式,源码)

apr--apr-util--httpd--mysql--php--xcache

 

rpm包:

/bin,/sbin,/usr/bin,/usr/sbin,

/lib,/usr/lib,

/etc

/usr/share/{doc,man}

编译安装:

/usr/local/程序同名目录下

/bin,/sbin,/usr/bin,/usr/sbin,

/lib,/usr/lib,

/etc

/usr/share/{doc,man}

apr 安装 解压  ./configure --prefix=安装目录

make

make install

apr-util 安装 解压 ./configure --prefix=安装目录 --with-apr=指定已经安装apr的目录位置

make

make install

httpd

apr httpd的虚拟机 apache portable runtime

apr-util APR工具组建

httpd 编译

prefork worker event(2.4默认)

模块化方式使用MPM

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mode-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/

开机启动 chkconfig --list httpd

chkconfig --level 2345 httpd on

添加路径

vim /etc/profile.d/httpd.sh

对于基于ip的访问控制

order,allow,deny

allow from all

2.4中不在支持 可以用 require not 替换 require 

require user 用户名

require group 组名

require ip IP地址

require host 主机名

允许所有主机访问

require all granted

拒绝所有主机范文

require all denied

apache benchmark   ab  压力测试 \usr\local\apache\bin\

-c 指定并发数

-n 一共请求多少个

mysql tar -xf 

 ln -sv

fdisk -l  pvs  vgs  lvs  查看信息

fdisk /dev/物理硬盘

n 创建lvm 分区

w 保存退出

pvcreate /dev/lvm分区   新建物理卷 physicalvolume 

vgcreate 卷组名称 /dev/lvm分区  新建卷组 volumegroup

lvcreate -n 逻辑卷名 -L 大小 卷组名称 logicalvolume 

mke2fs -j /dev/卷组名称/逻辑卷名

mkdir /mydata 创建数据库目录

vim etc/fstab 添加开机自动挂在 /dev/卷组名/逻辑卷名    /挂在目录  

mysql/script/mysql_install_db --datadir=   --user=

cp mysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --list mysqld    on  2  3  4  5 

mysql 配置文件格式,集中式配置文件,可以给多个程序配置

分段式配置方式

[mysql]

*****

[mysql]

[mysqld]

******

[mysqld]

[client]

******

[client]

/etc/my.conf  ----/etc/mysql/my.conf ---- $basedir/my.conf----用户家目录/.my.conf  配置以最后一个为准,后者覆盖前者

配置冲突,以最后一个为准,覆盖前一个

MYSQL 服务器中的变量

服务器变量

用户定义mysql服务器运行特性

SHOW GLOBAL VARIABLES LIKE ‘DATADIR‘;

状态变量

保存了mysql服务器运行的统计数据

SHOW GLOBAL STAUTS LIKE 

MYSQL 通配符 

_:任意单个字符

%:任意多个字符

vim /etc/man.config

添加manpath 定位到mysql的man目录

ldconfig -V 刷新系统库

系统开机缓存所有库文件到一个文件 /etc/ld.so.cache中 

设置头文件 

ln -sv /usr/local/mysql/include /usr/local/mysql/include

php

php53-bmstring  支持长字节 中文

XML 扩展标记语言

freetype 自由扩展字体引擎

cd php

./configure --prefix=/usr/local/php --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 --with-apxs2=/usr/local/apache/bin/apxs  --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts

--with-apxs2=/usr/local/apache/bin/apxs   把PHP编译成httpd的模块

--enable-fpm  把PHP编译成服务   fastcgi 模式

xcache PHP的扩展                     PHP 5.5 以上 需要 XCACHE 3.0 以上

tar xcache

cd xcache

/usr/local/php/bin/phpize                 PHP 扩展安装程序

./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config

安装位置

/usr/local/php/lib/php/extensions/no-debug-zts-20131226/

cp xcache.ini /etc/php.d/

vim xcache.ini

extension=/usr/local/php/lib/php/extensions/no-debug-zts-20131226/xcache.so

垃圾回收期 GC

mail server

smtp:simple mail transfer protocol

esmtp:extended

pop3:post office protocol

imap4:internet mail access protocol 

uucp:unix to unix cpoy protocol 主机文件复制协议

sendmail 半数互联网邮件收发软件

单体结构 SUID 配置文件语法复杂 M4编写

MT 邮件传输

MDA 邮件投递代理 SMTPD 送递邮件至用户邮箱

procmail

maildorp

MUA 邮件用户代理 类似 outlook 客户端 使用SMTP 投递邮件至 SMTPD

outlook express ,outlook ,foxmail ,thunderbrid , evolution , mutt(文本)

MTA 邮件传输代理 类似 mdaemoon SMTPD 使用 SMTP 投递邮件至 远程SMTPD

qmail  

postfix 模块化设计 作者为IBM 安全领域专家 跟sendmail兼容 效率高 约sendmail 的4倍

exchange windows 异步消息协作平台

MRA 邮件取回代理 MUA从个人邮箱里取回 邮件 协议 POP IMAP4

OPEN REALY 开放式中继 无条件转发

SASL simple authnitication secure layer 简单认证安全层

webmail 

openwebmail

squirrelmail

SASL

cyrus-sasl

courier-authlib

postfix + sasl (courer-authlib)+ mysql

dovecot + mysql 

webmail + extman + httpd

postfix 配置文件

postfix模块化

master: /etc/postfix/master.cf

mail: /etc/postfix/main.cf  

参数 = 值:参数必须写在行首处 以空白开头的行被认为是上一行的延续

postconf 配置postfix

-d 显示默认配置

-n 修改了的配置


Linux 学习笔记 四