MySQL入门完全指南及Linux系统下基本的安装教程_MySQL
我们来了解一下MySQL的基本特性: 1.内部构件和可移植性
2.列类型 众多列类型: 带符号/无符号整数,1、2、3、4、8字节长,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,以及OpenGIS空间类型。请参见第11章:列类型。 定长和可变长度记录。 3.语句和函数 在SELECT和查询的WHERE子句中,提供完整的操作符和函数支持。例如: mysql> SELECT CONCAT(first_name, ' ', last_name) -> FROM citizen -> WHERE income/dependents > 10000 AND age > 30; 对SQL GROUP BY和ORDER BY子句的全面支持。支持聚合函数(COUNT(), COUNT(DISTINCT ...),AVG(),STD(),SUM(),MAX(),MIN()和GROUP_CONCAT())。 支持LEFT OUTER JOIN和RIGHT OUTER JOIN,采用标准的SQL和ODBC语法。 按照标准SQL的要求,支持表别名和列别名。 DELETE、INSERT、REPLACE和UPDATE返回更改(影响)的行数。连接到服务器时,可通过设置标志返回匹配的行数。 MySQL的SHOW命令可用于检索关于数据库、数据库引擎、表和索引的信息。EXPLAIN命令可用于确定优化器处理查询的方式。 函数名与表名或列名不冲突。例如,ABS是有效的列名。唯一的限制在于,调用函数时,函数名和随后的符号“(”之间不得有空格。请参见9.6 “MySQL中保留字的处理”。 可以将不同数据库的表混合在相同的查询中(就像MySQL 3.22中那样)。 4.安全 十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。 5.可伸缩性和限制 处理大型数据库: 我们使用了MySQL服务器和含5千万条记录的数据库。我们还听说,有些用户将MySQL用于含60000个表和约50亿行的数据库。 每个表可支持高达64条索引(在MySQL 4.1.2之前为32条)。每条索引可由1~16个列或列元素组成。最大索引宽度为1000字节(在MySQL 4.1.2之前为500)。索引可使用具备CHAR、VARCHAR、BLOB或TEXT列类型的列前缀。 6.连接性 在任何平台上,客户端可使用TCP/IP协议连接到MySQL服务器。在Windows系统的NT系列中(NT、2000、XP或2003),客户端可使用命名管道进行连接。在Unix系统中,客户端可使用Unix域套接字文件建立连接。 在MySQL 4.1和更高的版本中,如果是以“--shared-memory”选项开始,Windows服务器还支持共享内存连接。客户端可使用“--protocol=memory”选项,通过共享内存建立连接。 Connector/ODBC (MyODBC)接口为使用ODBC(开放式数据库连接性)连接的客户端程序提供了MySQL支持。例如,可以使用MS Access连接到你的MySQL服务器。客户端可运行在Windows或Unix平台上。提供了MyODBC源。支持所有的ODBC 2.5函数,以及众多其他函数。 Connector/J接口为使用JDBC连接的Java客户端程序提供了MySQL支持。客户端可运行在Windows或Unix平台上。提供了Connector/J源码。 7.本地化 服务器可使用多种语言向客户端提供错误消息。请参见5.10.2节,“设置错误消息语言”。 对数种不同字符集的全面支持,包括latin1 (cp1252)、german、big5、ujis等。例如,在表名和列名中允许使用斯堪的纳维亚字符‘å'、‘ä'和‘ö'。从MySQL 4.1开始,提供了Unicode支持。 所有数据均以所选的字符集保存。正常字符串列的比较不区分大小写。 分类是根据所选的字符集(默认情况下,使用瑞典校对)进行的。启动MySQL服务器时,可更改该项设置。要想查看高级分类的示例,请参见Czech分类代码。MySQL服务器支持众多不同的字符集,这类字符集可在编译时和运行时指定。 8.客户端和工具 MySQL服务器提供了对SQL语句的内部支持,可用于检查、优化和修复表。通过mysqlcheck客户端,可在命令行上使用这类语句。MySQL还包括myisamchk,这是一种很快的命令行实用工具,可用于在MyISAM表上执行这类操作。请参见第5章:数据库管理。 对于所有MySQL程序,均能通过“-help”或“-?”选项调用,以获取联机帮助信息。 MySQL在Linux上的安装: 1,rpm包形式 MySQL-server-community-5.5.28-1.rhel5.i386.rpm MySQL-client-community-5.5.28-1.rhel5.i386.rpm 接着我们可以使用rpm命令进行安装: rpm -ivh MySQL-server-community-5.5.28-1.rhel5.i386.rpm rpm -ivh MySQL-client-community-5.5.28-1.rhel5.i386.rpm 补充一点: 2,通用二进制包 # groupadd -r mysql # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql # chown -R mysql:mysql /mydata/data (2)安装并初始化mysql-5.5.28 tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local # cd /usr/local/ # ln -sv mysql-5.5.28-linux2.6-i686 mysql # cd mysql # chown -R mysql:mysql . # scripts/mysql_install_db --user=mysql --datadir=/mydata/data # chown -R root . (3)为mysql提供主配置文件: # cd /usr/local/mysql # cp support-files/my-large.cnf /etc/my.cnf (4)修改配置文件: thread_concurrency = 2 datadir = /mydata/data (5)为mysql提供sysv服务脚本: # cd /usr/local/mysql # cp support-files/mysql.server /etc/rc.d/init.d/mysqld (6)添加至服务列表: # chkconfig --add mysqld # chkconfig mysqld on (7)而后就可以启动服务测试使用了。 # service mysqld start # tar xf cmake-2.8.8.tar.gz # cd cmake-2.8.8 # ./bootstrap 使用此脚本来检测编译环境 # make # make install (2)编译安装mysql-5.5.28 make clean rm CMakeCache.txt 编译安装 # tar xf mysql-5.5.28.tar.gz # cd mysql-5.5.28 # groupadd -r mysql # useradd -g -r mysql mysql # mkdir -pv /data/mydata # chown -R mysql:mysql /data/mydata # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mydata -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci # make # make install # cd /usr/local/mysql # chown -R :mysql 更改属组 # scripts/mysql_install_db --user=mysql --datadir=/data/mydata/ 指定数据存放位置 # cp support-files/my-large.cnf /etc/my.cnf 创建配置文件 #vim /etc/my.cnf 添加如下行指定mysql数据文件的存放位置: datadir = /mydata/data 创建执行脚本和启动服务 # cp support-files/mysql.server /etc/rc.d/init.d/mysqld 复制脚本 # chmod +x /etc/rc.d/init.d/mysqld 执行权限 # chkconfig -add mysql 添加到服务列表中 # service mysqld start 启动服务 # bin/mysql 启动mysql |