當前位置:首頁 » 編程軟體 » 資料庫命令及編譯

資料庫命令及編譯

發布時間: 2022-10-23 18:18:30

『壹』 VFP資料庫中所有的命令及文件擴展名是什麼

VFP原程序文件擴展名為prg


VFP用到的其它文件的擴展名如下所示:


.act 向導操作圖的文檔


.app 生成的應用程序或 Active Document


.cdx 復合索引


.chm 編譯的HTML Help


.dbc 資料庫


.dbf 表


.dbg 調試器配置


.dct 資料庫備注


.dcx 資料庫索引


.dep 相關文件(由「安裝向導」創建)


.dll Windows動態鏈接庫


.err 編譯錯誤


.esl Visual FoxPro支持的庫


.exe 可執行程序


.fky 宏


.frx 報表


.fxp 編譯後的程序


.idx 索引,壓縮索引


.lbx 標簽



.log 代碼范圍日誌


.lst 向導列表的文檔


.mem 內存變數


.mnt 菜單備注


.mnx 菜單


.mpr 生成的菜單程序


.mpx 編譯後的菜單程序


.ocx ActiveX 控制項


.pjt 項目備注


.pjx 項目


.pqr 生成的查詢程序


.prg Visual FoxPro程序


.qpx 編譯後的查詢程序


.sct 表單備注


.scx 表單


.tbk 備注備份


.txt 文本

『貳』 sql資料庫常用命令及語法舉例

下面是一些常用的SQL語句,雖然很基礎,可是卻很值得收藏,對於初學者非常實用

『叄』 linux下,對ORACLE資料庫腳本(比如存儲過程或是觸發器)進程編譯,用哪個命令

sqlplus里
@${filename}

showerror -- 查看編譯錯誤

『肆』 簡要說明編譯程序與資料庫管理系統的工作原理.

編譯程序是高級語言發展的一個中間產物,在計算機初期,人類是使用匯編語言來進行程序設計,匯編語言是一種低級語言,能直接與底層的硬體打交道,通過二進制直接傳輸指令,完成各種命令。資料庫管理系統是軟體商業化之後,針對數據存儲管理上的一個應用系統,主流的有server SQL oracle,sybase,DB2 等一線廠商的強大資料庫管理系統。資料庫管理系統主要完成日常數據的寫入,讀寫,管理,監控等各項數據的處理!

『伍』 總結一下VFP資料庫中所有的命令及文件擴展名

? 在下一行顯示表達式串 ?? 在當前行顯示表達式串 @... 將數據按用戶設定的格式顯示在屏幕上或在列印機上列印 ACCEPT 把一個字元串賦給內存變數 APPEND 給資料庫文件追加記錄 APPEND FROM 從其它庫文件將記錄添加到資料庫文件中 AVERAGE 計算數值表達式的算術平均值 BROWSE 全屏幕顯示和編輯資料庫記錄 CALL 運行內存中的二進制文件 CANCEL 終止程序執行,返回圓點提示符 CASE 在多重選擇語句中,指定一個條件 CHANGE 對資料庫中的指定欄位和記錄進行編輯 CLEAR 清潔屏幕,將游標移動到屏幕左上角 CLEAR ALL 關閉所有打開的文件,釋放所有內存變數,選擇1號工作區 CLEAR FIELDS 清除用SET FIELDS TO命令建立的欄位名表 CLEAR GETS 從全屏幕READ中釋放任何當前GET語句的變數 CLEAR MEMORY 清除當前所有內存變數 CLEAR PROGRAM 清除程序緩沖區 CLEAR TYPEAHEAD 清除鍵盤緩沖區 CLOSE 關閉指定類型文件 CONTINUE 把記錄指針指到下一個滿足LOCATE命令給定條件的記錄,在LOCATE命令後出現。無LOCATE則出錯 COPY TO 將使用的資料庫文件復制另一個庫文件或文本文件 COPY FILE 復制任何類型的文件 COPY STRUCTURE EXTENED TO 當前庫文件的結構作為記錄,建立一個新的庫文件 COPY STRUCTURE TO 將正在使用的庫文件的結構復制到目的庫文件中 COUNT 計算給定范圍內指定記錄的個數 CREATE 定義一個新資料庫文件結構並將其登記到目錄中 CREATE FROM 根據庫結構文件建立一個新的庫文件 CREATE LABEL 建立並編輯一個標簽格式文件 CREATE REPORT 建立賓編輯一個報表格式文件 DELETE 給指定的記錄加上刪除標記 DELETE FILE 刪除一個未打開的文件 DIMENSION 定義內存變數數組 DIR 或 DIRECTORY 列出指定磁碟上的文件目錄 DISPLAY 顯示一個打開的庫文件的記錄和欄位 DISPLAY FILES 查閱磁碟上的文件 DISPLAY HISTORY 查閱執行過的命令 DISPLAY MEMORY 分頁顯示當前的內存變數 DISPLAY STATUS 顯示系統狀態和系統參數 DISPLAY STRUCTURE 顯示當前書庫文件的結構 DO 執行FoxBase程序 DO CASE 程序中多重判斷開始的標志 DO WHILE 程序中一個循環開始的標志 EDIT 編輯資料庫欄位的內容 EJECT 使列印機換頁的命令,將PROW()函數和PCOL()函數值置為0 ELSE 在IF...ENDIF結構中提供另一個條件選擇路線 ENDCASE 終止多重判斷 ENDDO 程序中一個循環體結束的標志 ENDIF 判斷體IF...ENDIF結構結束標志 ERASE 從目錄中刪除指定文件 EXIT 在循環體內執行退出循環的命令 FIND 將記錄指針移動到第一個含有與給定字元串一致的索引關鍵字的記錄上 FLUSH 清除所有的磁碟存取緩沖區 GATHER FROM 將數組元素的值賦予資料庫的當前記錄中 GO/GOTO 將記錄指針移動到指定的記錄號 HELP 激活幫助菜單,解釋FoxBASE+的命令 IF 在IF...ENDIF結構中指定判斷條件 INDEX 根據指定的關鍵詞生成索引文件 INPUT 接受鍵盤鍵入的一個表達式並賦予指定的內存變數 INSERT 在指定的位置插入一個記錄 JOIN 從兩個資料庫文件中把指定的記錄和欄位組合成另一個庫文件 KEYBOARD 將字元串填入鍵盤緩沖區 LABEL FROM 用指定的標簽格式文件列印標簽 LIST 列出資料庫文件的記錄和欄位 LIST FILES 列出磁碟當前目錄下的文件 LIST HISTORY 列出執行過的命令 LIST MEMORY 列出當前內存變數及其值 LIST STATUS 列出當前系統狀態和系統參數 LIST STRUCTURE 列出當前使用的資料庫的庫結構 LOAD 將匯編語言程序從磁碟上調入內存 LOCATE 將記錄指針移動到對給定條件為真的記錄上 LOOP 跳過循環體內LOOP與ENDDO之間的所有語句,返回到循環體首行 MENU TO 激活一組@...PROMPT命令定義的菜單 MODIFY COMMAND 進入FoxBASE+系統的字處理狀態,並編輯一個ASCII碼文本文件(如果指定文件名以.PRG為後綴,則編輯一個FoxBASE+命令文件) MODIFY FILE 編輯一個一般的ASCII碼文本文件 MODIFY LABEL 建立並編輯一個標簽(.LBL)文件 MODIFY REPORT 建立並編輯一個報表格式文件(.FRM)文件 MODIFY STRUCTURE 修改當前使用的庫文件結構 NOTE/* 在命令文件(程序)中插入以行注釋(本行不被執行) ON 根據指定條件轉移程序執行 OTHERWISE 在多重判斷(DO CASE)中指定除給定條件外的其它情況 PACK 徹底刪除加有刪除標記的記錄 PARAMETERS 指定子過程接受主過程傳遞來的參數所存放的內存變數 PRIVATE 定義內存變數的屬性為局部性質 PROCEDURE 一個子過程開始的標志 PUBLIC 定義內存變數為全局性質 QUIT 關閉所有文件並退出FoxBASE+ READ 激活GET語句,並正是接受在GET語句中輸入的數據 RECALL 恢復用DELETE加上刪除標記的記錄 REINDEX 重新建立正在使用的原有索引文件 RELEASE 清楚當前內存變數和匯編語言子程序 RENAME 修改文件名 REPLACE 用指定的數據替換資料庫欄位中原有的內容 REPORT FORM 顯示數據報表 RESTORE FROM 從內存變數文件(.MEM)中恢復內存變數 RESTORE SCREEN 裝載原來存儲過的屏幕映象 RESUME 使暫停的程序從暫停的斷點繼續執行 RETRY 從當前執行的子程序返回調用程序,並從原調用行重新執行 RETURN 結束子程序,返回調用程序 RUN/! 在FoxBASE+中執行一個操作系統程序 SAVE TO 把當前內存變數及其值存入指定的磁碟文件(.MEM) SAVE SCREEN 將當前屏幕顯示內容存儲在指定的內存變數中 SCATTER 將當前資料庫文件中的數據移到指定的數組中 SEEK 將記錄指針移到第一個含有與指定表達式相符的索引關鍵字的記錄 SELECT 選擇一個工作區 SET 設置FoxBASE+控制參數 SET ALTERNATE ON/OFF 設置傳送/不傳送輸出到一個文件中 SET ALTERNATE TO 建立一個存放輸出的文件 SET BELL ON/OFF 設置輸入數據時響鈴/不響鈴 SET CARRY ON/OFF 設置最後一個記錄復制/不復制到添加的記錄中 SET CENTURY ON/OFF 設置日期型變數要/不要世紀前綴 SET CLEAR ON/OFF 設置屏幕信息能/不能被清除 SET COLOR ON/OFF 設置彩色/單色顯示 SET COLOR TO 設置屏幕顯示色彩 SET CONFIRM ON/OFF 設置在全屏幕編輯方式中,要求/不要求自動跳到下一個欄位 SET CONSOLE ON/OFF 設置將輸出傳送/不傳送到屏幕 SET DATE 設置日期表達式的格式 SET DEBUG ON/OFF 設置傳送/不傳送ECHO的輸出到列印機上 SET DECIMALS TO 設置計算結果需要顯示的小數位數 SET DEFAULT TO 設置默認的驅動器 SET DELETED ON/OFF 設置隱藏/顯示有刪除標記的記錄 SET DELIMITER TO 為全屏幕顯示欄位和變數設置定界符 SET DELIMITER ON/OFF 選擇可選的定界符 SET DEVICE TO SCREEN/PRINT 將@...SAY命令的結果傳送到屏幕/列印機 SET DOHISTORY ON/OFF 設置存/不存命令文件中的命令到歷史記錄中 SET ECHO ON/OFF 命令行回送到屏幕或列印機 SET ESCAPE ON/OFF 允許ESCAPE退出/繼續命令文件的執行 SET EXACT ON/OFF 在字元串的比較中,要求/不要求准確一致 SET EXACLUSIVE ON/OFF 設置資料庫文件的共享 SET FIELDS ON/OFF 設置當前打開的資料庫中部分/全部欄位為可用 SET FIELDS TO 指定打開的資料庫中可被訪問的欄位 SET FILTER TO 在操作中將資料庫中所有不滿足給定條件的記錄排除 SET FIXED ON/OFF 固定/不固定顯示的小數位數 SET FORMAT TO 打開指定的格式文件 SET FUNCTION 設置F1-F9功能鍵值 SET HEADING ON/OFF 設置LIST或DISPLAY時,顯示/不顯示欄位名 SET HELP ON/OFF 確定在出現錯誤時,是否給用戶提示 SET HISTORY ON/OFF 決定是/否把命令存儲起來以便重新調用 SET HISTORY TO 決定顯示歷史命令的數目 SET INDEX TO 打開指定的索引文件 SET INTENSITY ON/OFF 對全屏幕操作實行/不實行反轉顯示 SET MARGIN TO 設置列印機左頁邊 SET MEMOWIDTH TO 定義備注型欄位輸出寬度和REPORT命令隱含寬度 SET MENU ON/OFF 確定在全屏幕操作中是否顯示菜單 SET MESSAGE TO 定義菜單中屏幕底行顯示的字元串 SET ODOMETER TO 改變TALK命令響應間隔時間 SET ORDER TO 指定索引文件列表中的索引文件 SET PATH TO 為文件檢索指定路徑 SET PRINT ON/OFF 傳送/不傳送輸出數據到列印機 SET PRINTER TO 把列印的數據輸送到另一種設備或一個文件中 SET PROCEDURE TO 打開指定的過程文件 SET RELATION TO 根據一個關鍵字表達式連接兩個資料庫文件 SET SAFETY ON/OFF 設置保護,在重寫文件時提示用戶確認 SET SCOREBORAD ON/OFF 設置是/否在屏幕的第0行上顯示FoxBASE+的狀態信息 SET STATUS ON/OFF 控制是/否顯示狀態行 SET STEP ON/OFF 每當執行完一條命令後,暫停/不暫停程序的執行 SET TALK ON/OFF 是否將命令執行的結果傳送到屏幕上 SET TYPEAHEAD TO 設置鍵盤緩沖區的大小 SET UNIQUE ON/OFF 在索引文件中出現相同關鍵字的第一個/所有記錄 SKIP 以當前記錄指針為准,前後移動指針 SORT TO 根據資料庫文件的一個欄位或多個欄位產生一個排序的哭文件 STORE 賦值語句 SUM 計算並顯示資料庫記錄的一個表達式在某范圍內的和 SUSPEND 暫停(掛起)程序的執行 TEXT...ENDTEXT 在屏幕上當前游標位置顯示...的文本數據塊 TOTAL TO 對預先已排序的文件產生一個具有總計的摘要文件 TYPE 顯示ASCII碼文件的內容 UNLOCK 解除當前庫文件對記錄和文件的加鎖操作 UPDATE 允許對一個資料庫進行成批修改 USE 帶文件名的USE命令打開這個資料庫文件。無文件名時,關閉當前操作的資料庫文件 WAIT 暫停程序執行,按任意鍵繼續執行 ZAP 刪除當前資料庫文件的所有記錄(不可恢復) .act 向導操作圖的文檔
.app 生成的應用程序或 Active Document
.cdx 復合索引
.chm 編譯的 HTML Help
.dbc 資料庫
.dbf 表
.dbg 調試器配置
.dct 資料庫備注
.dcx 資料庫索引
.dep 相關文件(由「安裝向導」創建)
.dll Windows 動態鏈接庫
.err 編譯錯誤
.esl Visual FoxPro 支持的庫
.exe 可執行程序
.fky 宏
.fll FoxPro 動態鏈接庫
.FMT 格式文件
.FPT 表備注
.FRT 報表備注
.frx 報表
.fxp 編譯後的程序
.h 頭文件( Visual FoxPro 或 C/C++ 程序需要包含的)
.hlp WinHelp
.htm HTML
.idx 索引,壓縮索引
.lbt 標簽備注
.lbx 標簽
.log 代碼范圍日誌
.lst 向導列表的文檔
.mem 內存變數保存
.mnt 菜單備注
.mnx 菜單
.mpr 生成的菜單程序
.mpx 編譯後的菜單程序
.ocx ActiveX 控制項
.pjt 項目備注
.pjx 項目
.prg 程序
.qpr 生成的查詢程序
.qpx 編譯後的查詢程序
.sct 表單備注
.scx 表單
.spr 生成的屏幕程序(只適用於 FoxPro 以前的版本)
.spx 編譯後的屏幕程序(只適用於 FoxPro 以前的版本)
.tbk 備注備份
.txt 文本
.vct 可視類庫備注
.vcx 可視類庫
.vue FoxPro 2.x 視圖
.win 窗口文件

表(.dbf)

資料庫(.dbc)

表單(.scx)

標簽(.lbx)

菜單(.mnx)

項目(.pjx)

報表(.frx)

可視類庫(.vcx)

『陸』 SQL 資料庫常用命令及語法舉例

SQL2000常用命令,語法使用方法
(1) 數據記錄篩選:

sql="select * from 數據表 where 欄位名=欄位值 order by 欄位名 [desc]"

sql="select * from 數據表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]"

sql="select top 10 * from 數據表 where 欄位名 order by 欄位名 [desc]"

sql="select * from 數據表 where 欄位名 in ('值1','值2','值3')"

sql="select * from 數據表 where 欄位名 between 值1 and 值2"

(2) 更新數據記錄:

sql="update 數據表 set 欄位名=欄位值 where 條件表達式"

sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"

(3) 刪除數據記錄:

sql="delete from 數據表 where 條件表達式"

sql="delete from 數據表" (將數據表所有記錄刪除)

(4) 添加數據記錄:

sql="insert into 數據表 (欄位1,欄位2,欄位3 …) values (值1,值2,值3 …)"

sql="insert into 目標數據表 select * from 源數據表" (把源數據表的記錄添加到目標數據表)

(5) 數據記錄統計函數:

AVG(欄位名) 得出一個表格欄平均值
COUNT(*|欄位名) 對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名) 取得一個表格欄最大的值
MIN(欄位名) 取得一個表格欄最小的值
SUM(欄位名) 把數據欄的值相加

引用以上函數的方法:

sql="select sum(欄位名) as 別名 from 數據表 where 條件表達式"
set rs=conn.execute(sql)

用 rs("別名") 獲取統的計值,其它函數運用同上。

(5) 數據表的建立和刪除:

CREATE TABLE 數據表名稱(欄位1 類型1(長度),欄位2 類型2(長度) …… )

例:CREATE TABLE tab01(name varchar(50),datetime default now())

DROP TABLE 數據表名稱 (永久性刪除一個數據表)

4. 記錄集對象的方法:

rs.movenext 將記錄指針從當前的位置向下移一行
rs.moveprevious 將記錄指針從當前的位置向上移一行
rs.movefirst 將記錄指針移到數據表第一行
rs.movelast 將記錄指針移到數據表最後一行
rs.absoluteposition=N 將記錄指針移到數據表第N行
rs.absolutepage=N 將記錄指針移到第N頁的第一行
rs.pagesize=N 設置每頁為N條記錄

2、更改表格
ALTER TABLE table_name
ADD COLUMN column_name DATATYPE
說明:增加一個欄位(沒有刪除某個欄位的語法。
ALTER TABLE table_name
ADD PRIMARY KEY (column_name)
說明:更改表得的定義把某個欄位設為主鍵。
ALTER TABLE table_name
DROP PRIMARY KEY (column_name)
說明:把主鍵的定義刪除。

3、建立索引
CREATE INDEX index_name ON table_name (column_name)
說明:對某個表格的欄位建立索引以增加查詢時的速度。

4、刪除
DROP table_name
DROP index_name

二、的資料形態 DATATYPEs
smallint
16 位元的整數。
interger
32 位元的整數。
decimal(p,s)
p 精確值和 s 大小的十進位整數,精確值p是指全部有幾個數(digits)大小值,s是指小數
點後有幾位數。如果沒有特別指定,則系統會設為 p=5; s=0 。
float
32位元的實數。
double
64位元的實數。
char(n)
n 長度的字串,n不能超過 254。
varchar(n)
長度不固定且其最大長度為 n 的字串,n不能超過 4000。
graphic(n)
和 char(n) 一樣,不過其單位是兩個字元 double-bytes, n不能超過127。這個形態是為
了支援兩個字元長度的字體,例如中文字。
vargraphic(n)
可變長度且其最大長度為 n 的雙字元字串,n不能超過 2000。
date
包含了 年份、月份、日期。
time
包含了 小時、分鍾、秒。
timestamp
包含了 年、月、日、時、分、秒、千分之一秒。

三、資料操作 DML (Data Manipulation Language)
資料定義好之後接下來的就是資料的操作。資料的操作不外乎增加資料(insert)、查詢資料(query)、更改資料(update) 、刪除資料(delete)四種模式,以下分 別介紹他們的語法:

1、增加資料:
INSERT INTO table_name (column1,column2,...)
valueS ( value1,value2, ...)
說明:
1.若沒有指定column 系統則會按表格內的欄位順序填入資料。
2.欄位的資料形態和所填入的資料必須吻合。
3.table_name 也可以是景觀 view_name。

INSERT INTO table_name (column1,column2,...)
SELECT columnx,columny,... FROM another_table
說明:也可以經過一個子查詢(subquery)把別的表格的資料填入。

2、查詢資料:
基本查詢
SELECT column1,columns2,...
FROM table_name
說明:把table_name 的特定欄位資料全部列出來
SELECT *
FROM table_name
WHERE column1 = xxx
[AND column2 > yyy] [OR column3 <> zzz]

三)交叉連接

交叉連接不帶WHERE 子句,它返回被連接的兩個表所有數據行的笛卡爾積,返回到結果集合中的數
據行數等於第一個表中符合查詢條件的數據行數乘以第二個表中符合查詢條件的數據行數。
例,titles表中有6類圖書,而publishers表中有8家出版社,則下列交叉連接檢索到的記錄數將等
於6*8=48行。
SELECT type,pub_name
FROM titles CROSS JOIN publishers
ORDER BY type
UNION運算符可以將兩個或兩個以上上SELECT語句的查詢結果集合合並成一個結果集合顯示,即執行聯合查詢。UNION的語法格式為:
select_statement
UNION [ALL] selectstatement
[UNION [ALL] selectstatement][…n]
其中selectstatement為待聯合的SELECT查詢語句。
ALL選項表示將所有行合並到結果集合中。不指定該項時,被聯合查詢結果集合中的重復行將只保留一
行。
聯合查詢時,查詢結果的列標題為第一個查詢語句的列標題。因此,要定義列標題必須在第一個查詢語
句中定義。要對聯合查詢結果排序時,也必須使用第一查詢語句中的列名、列標題或者列序號。
在使用UNION 運算符時,應保證每個聯合查詢語句的選擇列表中有相同數量的表達式,並且每個查詢選
擇表達式應具有相同的數據類型,或是可以自動將它們轉換為相同的數據類型。在自動轉換時,對於數值類

型,系統將低精度的數據類型轉換為高精度的數據類型。

在包括多個查詢的UNION語句中,其執行順序是自左至右,使用括弧可以改變這一執行順序。例如:

查詢1 UNION (查詢2 UNION 查詢3)

INSERT語句

用戶可以用INSERT語句將一行記錄插入到指定的一個表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句:

INSERT INTO EMPLOYEES valueS

('Smith','John','1980-06-10',

'Los Angles',16,45000);

通過這樣的INSERT語句,系統將試著將這些值填入到相應的列中。這些列按照我們創建表時定義的順序排列。在本例中,第一個值「Smith」將填到第一個列LAST_NAME中;第二個值「John」將填到第二列FIRST_NAME中……以此類推。

我們說過系統會「試著」將值填入,除了執行規則之外它還要進行類型檢查。如果類型不符(如將一個字元串填入到類型為數字的列中),系統將拒絕這一次操作並返回一個錯誤信息。

如果SQL拒絕了你所填入的一列值,語句中其他各列的值也不會填入。這是因為SQL提供對事務的支持。一次事務將資料庫從一種一致性轉移到另一種一致性。如果事務的某一部分失敗,則整個事務都會失敗,系統將會被恢復(或稱之為回退)到此事務之前的狀態。

回到原來的INSERT的例子,請注意所有的整形十進制數都不需要用單引號引起來,而字元串和日期類型的值都要用單引號來區別。為了增加可讀性而在數字間插入逗號將會引起錯誤。記住,在SQL中逗號是元素的分隔符。

同樣要注意輸入文字值時要使用單引號。雙引號用來封裝限界標識符。

對於日期類型,我們必須使用SQL標准日期格式(yyyy-mm-dd)

『柒』 怎麼在cmd中敲命令鏈接資料庫編譯java程序

javac -encodinig utf8 MyJavaCode.java
----如果 有多個源文件,同時指定,可以包括路徑的(定義 了包的話。)
java MyJavaCode

『捌』 求教達夢資料庫如何配置和編譯PRO*C

使用的編譯命令為:
/home/dmdba/dmdbms/bin/dpc_new FILE=./update.pc CHECK=TRUE MODE=ORACLE
cc -DOS_LINUX -c -o ./update.o -L//home/dmdba/dmdbms/bin/ -lm -I/home/dmdba/dmdbms/include update.c -L/home/dmdba/dmdbms/include -ldmdpi -ldmdpc
cc -o ./update -L//home/dmdba/dmdbms/bin/ ./update.o -L/home/dmdba/dmdbms/include -ldmdpi -ldmdpc

『玖』 linux怎麼編譯安裝mysql

不同linux版本,安裝不同版本的mysql方法各不相同,下面以CentOS 6.5編譯安裝MySQL 5.6.16介紹:

一.准備工作
1.yum安裝各個依賴包
[root@WebServer ~]# yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bison bison-devel unzip
2.新建mysql組和用戶
[root@WebServer ~]# groupadd mysql
[root@WebServer ~]# useradd -g mysql -s /sbin/nologin mysql
3.目錄准備
[root@WebServer ~]# mkdir -p /webserver/mysql/etc
[root@WebServer ~]# mkdir -p /webserver/mysql/data
[root@WebServer ~]# mkdir -p /webserver/mysql/tmp
[root@WebServer ~]# chown -R mysql.mysql /webserver/mysql
4.解壓MySQL並進入安裝目錄
[root@WebServer ~]# tar zxvf mysql-5.6.16.tar.gz
[root@WebServer ~]# cd mysql-5.6.16
二.編譯並安裝
1.編譯MySQL
[root@WebServer mysql-5.6.16]# cmake -DCMAKE_INSTALL_PREFIX=/webserver/mysql \
> -DSYSCONFDIR=/webserver/mysql/etc \
> -DMYSQL_DATADIR=/webserver/mysql/data \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/webserver/mysql/tmp/mysqld.sock \
> -DMYSQL_USER=mysql \
> -DEXTRA_CHARSETS=all \
> -DWITH_READLINE=1 \
> -DWITH_SSL=system \
> -DWITH_EMBEDDED_SERVER=1 \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DENABLE_DOWNLOADS=1
2.如果出現以下錯誤

則需要
[root@WebServer mysql-5.6.16]# cd source_downloads/
[root@WebServer source_downloads]# unzip gmock-1.6.0.zip
[root@WebServer source_downloads]# ./configure
[root@WebServer source_downloads]# make
[root@WebServer source_downloads]# cd ..
然後刪除mysql-5.6.16目錄下的CMakeCache.txt重新使用cmake進行編譯安裝
2.安裝
[root@WebServer mysql-5.6.16]# make && make install
編譯過程會比較漫長,編譯時間取決於機器的性能
三.MySQL配置
1.客戶端庫文件的鏈接(未執行此步驟的話,在PHP編譯時會提示找不到MySQL文件)
[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
ps:我使用的是64位CentOS,如果使用的是32位請使用ln -s /webserver/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

2.MySQL啟動文件的配置
[root@WebServer mysql-5.6.16]# cp support-files/mysql.server /etc/init.d/mysqld
[root@WebServer mysql-5.6.16]# chmod +x /etc/init.d/mysqld
[root@WebServer mysql-5.6.16]# vim /etc/init.d/mysqld
basedir=/webserver/mysql
datadir=/webserver/mysql/data
//修改以上這2行的路徑即可
3.設置MySQL配置文件
[root@WebServer mysql-5.6.16]# cp support-files/my-default.cnf /webserver/mysql/etc/my.cnf
[root@WebServer mysql-5.6.16]# rm -rf /etc/my.cnf
[root@WebServer mysql-5.6.16]# ln -s /webserver/mysql/etc/my.cnf /etc/my.cnf
4.初始化資料庫
[root@WebServer mysql-5.6.16]# cd /webserver/mysql
[root@WebServer mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/webserver/mysql --datadir=/webserver/mysql/data
5.鏈接MySQL命令(這一步可以讓我們方便很多,可以不用寫出命令的路徑,也可以寫入/etc/profile的PATH中)
[root@WebServer ~]# cd /usr/sbin
[root@WebServer sbin]# ln -s /webserver/mysql/bin/* .
6.啟動MySQL並設置為開機啟動
[root@WebServer sbin]# service mysqld start ;chkconfig mysqld on
Starting MySQL.. SUCCESS!
7.設置MySQL root用戶的密碼
[root@WebServer ~]# mysqladmin -u root password 123456
這里將MySQL的root密碼設置為123456,強烈不建議將資料庫的密碼設的簡單
8.刪除用戶密碼為空的用戶
[root@WebServer ~]# mysql -u root -p
Enter password:
mysql> use mysql;
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host | User | Password |
+-----------+------+-------------------------------------------+
| localhost | root | * |
| webserver | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | | |
| webserver | | |
+-----------+------+-------------------------------------------+
6 rows in set (0.00 sec)
mysql> delete from user where password="";
Query OK, 5 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host | User | Password |
+-----------+------+-------------------------------------------+
| localhost | root | * |
+-----------+------+-------------------------------------------+
1 row in set (0.00 sec)
mysql> exit;
完畢。

熱點內容
ftp命令使用 發布:2025-07-18 18:13:05 瀏覽:44
辦稅密碼是什麼 發布:2025-07-18 18:12:32 瀏覽:486
linuxftp文件下載 發布:2025-07-18 18:12:30 瀏覽:940
互聯網網站伺服器搭建 發布:2025-07-18 18:01:06 瀏覽:478
安卓手機怎麼辮真偽 發布:2025-07-18 17:13:14 瀏覽:186
java後台json 發布:2025-07-18 17:12:21 瀏覽:680
手機游戲配置主要看哪些 發布:2025-07-18 17:00:47 瀏覽:148
微課源碼 發布:2025-07-18 16:34:44 瀏覽:1001
壓縮長抱枕 發布:2025-07-18 16:13:38 瀏覽:505
如何使用wifi熱點配置網路 發布:2025-07-18 16:06:25 瀏覽:970