1.0 什么是MySQL(官方发音 My Ess Que Ell)?
是一个快速、多线程、多用户和强壮的SQL数据库服务器,SQL是世界上最流行的标准化数据库语言。
名字来源:共同创办人Monty Widenius的女儿名字叫“My”,加SQL,就叫MySQL。
2.0 MySQL具有客户机/服务器体系结构的分布式数据库管理系统
3.0 MySQL由瑞典MySQL AB (TcX )公司负责开发和维护,目前属于 Oracle 旗下产品。
3.1 MySQL官网网址:
https://www.mysql.com/
3.2 最新参考文档网址:
https://dev.mysql.com/doc/
4.0 MySQL支持SQL(结构化查询语言)和ODBC(开放式数据库连接)。
5.0 MySQL是完全网络化的,任何人可以在因特网上的任何地方访问自己的数据。
6.0 MySQL具有很强的可移植性。
7.0 MySQL适用场景:
Web网站系统:大部分如此, 现在网上跑的系统大多数是LAMP系统(Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。)
日志记录系统:比如批量插入很频繁。
数据仓库系统:需要在查询的方面很有很好的性能。
嵌入式系统:因为MySQL小,所以好。
8.0 了解MySQL源码目录
8.1 MySQL的命名机制使用三个数字和一个后缀组成的版本号。例如“mysql-5.0.9-beta”的版本号解释为:
5: 主版本号。所有主版本号一样的MySQL具有相同的文件格式。
5+0:组成发行系列,新功能的增加和稳定性的增强,就会使9发生变化。
8.2 后缀beta是稳定级别。其中:
alpha:表面发行包含大量未被彻底测试的新代码。
beta:表示功能完整,应该没有已知缺陷,当alpha版本至少一个月没有出现报导的致命漏洞,并且没有计划增加导致以及实施的功能不稳的的新功能时,版本从alpha版变成beta版。
rc:一个发型了一段时间的beta版本,应该运行正常,只是增加了很小的修复。
如果没有后缀:意味着该版本以及在很多地方运行一段时间了,而且没有平台特定的缺陷报告(GA版本)。
9.0 MySQL表最大能达到多少 ?
在MySQL 3.23版本之后中使用了MyISAM存储引擎,最大表尺寸增加到了65536TB(2567 – 1字节)。 因此
MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。
9.1 Windows用户请注意: FAT和VFAT (FAT32)不适合MySQL的生产使用。应使用NTFS。
9.2 在默认情况下, MySQL创建的MyISAM表允许的最大尺寸为4GB。你可以使用SHOW TABLE STATUS语句或myisamchk -dv tbl_name检查表的最大尺寸。
9.3 如果需要使用大于4GB的MyISAM表(而且你的操作系统支持大文件),可使用允许AVG_ROW_LENGTH和MAX_ROWS选项的CREATE TABLE语句。创建了表后,也可以使用ALTER TABLE更改这些选项, 以增加表的最大允许容量。
9.4 如果你的大表是只读的,可使用myisampack压缩它。 myisampack通常能将表压缩至少50%,因而,从结果上看,可获得更大的表。此外, myisampack还能将多个
表合并为1个表。
10.0MySQL服务器采用了Unix的时间功能,对于TIMESTAMP值,可处理的日期至2037年。对于DATE和DATETIME值,可接受的日期可至9999年。
10.1 所有的MySQL日期函数均是在1个源文件sql/time.cc中实现的,并经过了恰当编码以确保2000年安全。
10.2 在MySQL 3.22和以后的版本中, YEAR列类型能够在1个字节内保存0年以及1901~2155年,并能使用两位或四位数字显示它们。 所有的两位数字年份均被视为介
于1970~2069年之间,这意味着,如果你在YEAR列中保存了01, MySQL服务器会将其当作2001年。
11.0 MySQL验证MD5校检和:
下载MySQL安装软件包后,你应当确保它的MD5校验和与提供的MySQL下载页上的相匹配。每个安装软件包有唯一的校验和,可以用下面的命令来验证,其中package_name是你下载的安装软件包的名称:
shell> md5sum package_name
示例:
shell> md5sum mysql-st和ard-5.1.2-alpha-linux-i686.tar.gz
aaab65abbec64d5e907dcd41b8699945 mysql-st和ard-5.1.2-alpha-linux-i686.tar.gz
你应当验证结果校验和(十六进制数字字符串)与下载页上相关安装软件包下面显示的校验和相匹配。
注释: 一定要验证归档文件(例如, .zip或.tar.gz文件)的校验和,而不是其中包括的文件。
请注意并非所有操作系统支持md5sum命令。在一些操作系统上,只是称为md5, 另一些根本不装载它。在Linux中,它是GNU Text Utilities安装软件包的一部分,适合各种平台。可以
从 http://www.gnu.org/software/textutils/ 下载源码。如果你已经安装了OpenSSL,还可以使用命令openssl md5 package_name。 http: //www.fourmilab.ch/md5/ 提供了DOS/Windows使用的md5命
令行实用工具。 winMd5Sum是一个图形MD5检查工具,可以从 http://www.nullriver.com/index/products/winmd5sum 获得。
12.0 Windows版MySQL同Unix版MySQL对比
21.1 MySQL为每个连接使用阻塞读取,如果启用了命名管道连接,其含义如下:
o 连接不会在8小时后自动断开,而在Unix版MySQL中会发生。
o 如果连接被挂起,不杀掉MySQL则不会将其中断。
o mysqladmin kill不会杀掉睡眠中的连接。
o 只要有睡眠连接, mysqladmin shutdown不会中断。
12.2 执行ALTER TABLE语句时,将该表锁定不让其它线程使用。在Windows中,你不能删除正被另一个线程使用的文件。
12.3 由于Windows对文件名大小写不敏感。因此在Windows中MySQL数据库名和表名对大小写也不敏感。唯一的限制是在同一个语句中,必须同时使用大写或小写指定数据库名和表名。
· ‘’路径名间隔符
Windows中的路径名用‘’符间隔开,在MySQL中还是转义字符。如果你使用LOAD DATA INFILE或SELECT ... INTO OUTFILE,用‘/’符使用Unix-类文件名:
mysql> LOAD DATA INFILE 'C:/tmp/skr.txt' INTO TABLE skr;
mysql> SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
你还可以使用双‘’符:
Chapter 2. Installing MySQL
file:///D:/download/refman-5.1-zh.html-chapter/refman-5.1-zh.html-chapter/installing.html[2010/2/24 5:21:24]
mysql> LOAD DATA INFILE 'C:\tmp\skr.txt' INTO TABLE skr;
mysql> SELECT * INTO OUTFILE 'C:\tmp\skr.txt' FROM skr;