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 修改了的配置


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章