Q:数据库启动失败,提示找不到pid文件
A:一、以前的数据库服务未释放,致使3306端口处于占用状态
二、数据库初始化失败
三、数据目录位置错误
四、数据目录权限问题mysql
SQL模型:
ANSI QUOTES
IGNORS_SPACE
STRICT_ALL_TABLES
STRICT_TRANS_TABLES
RADITIONALsql
MYSQL服务器变量:
做用域:分为两类
全局变量
SHOW GLOBAL VARIABLES
会话变量
SHOW [SESSION] VARIABLES数据库
DDL:数据操做语言
INSERT
DELETE
SELECT
UPDATE
DML:数据定义语言
CREATE
DROP
ALTER
DCL:数据控制语言
GRANT
REVOKE缓存
RDB对象:
库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器。服务器
约束: 域约束:数据类型约束 外键约束:引用完整性约束 主键约束:某字段能惟一标识此字段所属的实体,而且不容许为空一张表中能够有多个 检查性约束:age:int
关系型数据库:
表示层:表
逻辑层:存储引擎
物理层:数据文件多线程
数据存储和查询 存储管理器: 权限机完整性管理 事务管理器 文件管理器 缓冲区管理器 查询管理器: DML解释器 DDL解释器 DCL解释器 查询执行引擎 mysql是单进程多线程的系统;不会给多个进程启动多个进程! 线程复用 mysql不支持对称多处理器(smp),意思是不能在一个sql处理分摊到多个cpu上处理,所以在处理速度上面就慢。
关系运算:
投影:只输出指定的字段
选择:只输出符合条件的行
天然连接:具备相同名字的全部属性值上取值相同的行
笛卡尔积:ide
SQL查询语句:
sequel ---> SQL
SQL-86
SQL-89
SLQ-92
SQL-99
SQL-08函数
SQL语言的组成部分:
DDL:
DML:
完整性定义语言:DDL的一部分功能
视图定义:
事务控制:
嵌入式SQL和动态SQL:
受权:DCL优化
使用程序设计语言如何RDBMS交互: 嵌入式SQL:与动态SQL相似,但其语言必须程序编译时彻底肯定下来; ODBC;针对的程序为 C 动态SQL:程序设计语言使用函数(mysql_conect())或者方法与RDBMS服务器创建链接,并进行交互;经过创建链接向SQL服务器发送查询语句,并将结果保存至变量中然后进行处理。 JDBC;针对的程序为 JAVA MYSQL支持插件式存储引擎 mysql 5.5.8的以前的存储引擎是MyISAM,不支持事务。特别适合查询比较多可是修改比较少的场景。 mysql 5.5.8版本以后的存储引擎是InnoDB, 表管理器:负责建立、读取或修改表定义文件;维护表描述高速缓存;管理表锁。 表结构定义文件。 表修改模块:表建立、删除、重命名、移除、更新或插入之类的操做 表维护模块:;检查、修改、备份、恢复、优化(碎片整理)及解析;
文件中记录组织:
堆文件组织:一条记录能够放在文件中的任何地方。
顺序文件组织:根据”搜索码“值顺序存放;
散列文件组织:spa
表结构定义文件;表数据文件
表空间:table space
数据字典:Data Dictionary;mysql初始化,即mysql的数据字典
关系的元数据: 关系的名字 字段的名字 字段的类型和长度 视图 约束 用户名字、受权、密码
缓冲区管理器:缓存置换策略: