当前位置:首页 » 编程软件 » 数据库命令及编译

数据库命令及编译

发布时间: 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;
完毕。

热点内容
帝来哪个配置值得购买 发布:2025-05-16 21:12:29 浏览:461
什么是nodejs前端服务器 发布:2025-05-16 21:12:17 浏览:404
编译选项立即绑定未定义符号 发布:2025-05-16 20:55:13 浏览:905
linuxmysql慢日志 发布:2025-05-16 20:47:58 浏览:270
村两委有哪些配置 发布:2025-05-16 20:34:47 浏览:292
我的世界有什么服务器好玩的 发布:2025-05-16 20:28:57 浏览:482
c语言按位与运算 发布:2025-05-16 20:24:10 浏览:753
苹果手机如何修改密码安全 发布:2025-05-16 20:23:34 浏览:193
图片文字识别算法 发布:2025-05-16 20:21:54 浏览:46
校园ftp服务器 发布:2025-05-16 20:19:38 浏览:72