MySQL启动与基本配置
MySQL启动与基本配置
MySQL是一个小型关系型数据库管理系统。开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司10亿美元收购。MySQL被广泛地应用在Internet的中小型网站中,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL的特性:
1. 使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性
2. 提供TCP/IP、ODBC和JDBC等多种数据库连接途径
3. 可以处理拥有上千万条记录的大型数据库
MySQL的应用:
MySQL的不足之处在于,规模小、功能有限。目前Intenet上流行的网站架构方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器的脚本解释器。
MySQL的管理:
可以使用命令行管理MySQL数据库(命令myql和mysqladmin),也可以从MySQL网站下载图形管理工具MySQL Administrator和MySQL Query Browser
MySQL存储引擎
MyISAM Mysql默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定。
BDB源自Berkeley DB,事务型数据库的另一选择,支持COMMIT和ROLLBACK等其它事务特性
Memory 所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失
Merge 将一定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用
Archive 非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差
Federated 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用
Cluster/NDB 高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
CSV 逻辑上由逗号分割数据的存储引擎
BlackHole 黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制的中继
MySQL最常见的应用架构:
单点(Single),适合小规模应用
复制(Replication),适合中小规模应用
集群(Cluster),适合大规模应用。
MySQL的索引文件介绍
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包
相关文档:
我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。
1.INSERT INTO SELECT语句
语句形式为:Insert into Table2(field1,field2,...) select value1,v ......
.关闭现有mysql
.不加载grant_tables而进入mysql
D:\>mysqld-nt --skip-grant-tables OR mysqld_safe --skip-grant-tables
.新开一个cmd窗口,然后按下面执行
D:\>mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.27-community-nt ......
编码是个很基础的问题,也是大家很容易忽略的问题,写代码之前多多考虑,以后会少很多麻烦。
PHP发展了不少,现在pear用起来很方便,其中就有相关的class来读取Excel文件里面的内容,如果不想使用pear的话,可以考虑使用excel_class.php,google一下,可以找到这个class的source code下载,也能找到基本的example c ......
过滤器条件
mysql.query contains "SELECT"
..
..
..
..
MySQL Protocol
Packet Length: 168
Packet Number: 0
Command
Command: Query (3)
State ......