MYSQL安装维护手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.MySQL简介
1什么是MySQL
1)MySQL是一个真正的多用户、多线程SQL数据库服务器。
2)MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序MySQLd和很多不同的客户程序和库组成
3)MySQL主要目标是快速、健壮和易用。
4)MySQL是开源数据库中的杰出作品,应用广泛,适应于多种软硬件平台,满足中小应用的需求。
2MySQL的特点1)完全多线程,可使用多CPU。
2)可运行在多种不同的平台上,如:AIX,DEC,FreeBSD,HP-UX,Linux,MacOS,SCO-UNIX,SUNSolaris,Tru64Unix,Windows系列。
3)提供多种编程语言的接口,如C/C++,Java,Perl,PHP,Python等。
4)提供ODBC访问接口。5)支持多种字段类型:
1,2,3,4和8字节有符号/无符号整数FLOAT、DOUBLE
CHAR、VARCHAR
DATE、TIME、DATETIME、TIMESTAMP
TEXT、BLOB、SET和ENUM等类型。
6)支持各种运算符和内部函数和聚合函数,用于各种高级SQL查询。7)快速索引和基于线程的快速内存分配,保证查询和操作的高效率。
8)非常灵活且安全的权限和口令系统,并且它允许基于主机的认证。口令是安全的,口令传送被加密。
9)支持大数据量处理,表现非常稳定。3MySQL的表类型
)非事务安全型表ISAM
早期MySQL版本的缺省表类型,已不用。
MyISAM
这是现在MySQL的缺省表类型。它基于ISAM,但有很多有用的扩展。
●MyIASM表小于IASM表,所以使用较少资源。
●MyIASM表在不同的平台上二进制可移植。
●支持更大的数据量。
HEAP
MySQL中存取数据最快的表。是因为他们使用存储在动态内存中的一个哈希索引。不过如果MySQL或服务器崩溃,数据将丢失。可以用作临时表数据处理。
MERGE
一个MERGE表实际上是具有相同的字段和关键字的MyISAM表的集合,合并成一个表,主要是为了效率原因。这样可以提高速度、搜索效率、修复效率并节省磁盘空间。2)事务安全型表Berkeley DB(DBD)
由Sleepycat软件公司开发。它提供MySQL用户期待已久的功能-事务控制。事务控制在任何数据库系统中都是一个极有价值的功能,因为它们确保一组命令能成功地执行。 InnoDB
InnoDB是MySQL上第一个提供外键约束的引擎,除了提供事务处理外,InnoDB 还支持行锁,提供和Oracle一样的一致性的不加锁读取,能增加并发读的用户数量并提高性能,不会增加锁的数量。
InnoDB的设计目标是处理大容量数据时最大化性能,它的CPU利用率是其他所有基于磁盘的关系数据库引擎中最有效率的。4MySQL的权限系统1)MySQL的存取权限
MySQL权限系统的主要功能是验证用户,并且赋予该用户在一个数据库上select、insert、update和delete的权限。
MySQL用户名独立于操作系统(Unix/Windows)用户名。用户名最长可以是16个字符。
2)MySQL的登录
mysql[-h host_name][-u user_name][-pyour_pass]
mysql[--host=host_name][--user=user_name][--password=your_pass]其中a)缺省主机名是localhost;
b)缺省用户名是你的Unix登录名;
c)-h和-u可以与主机和用户名连写
d)-p后与口令之间没有空格
例如:
mysql-uroot–proot sysdb–h192.168.1.1
mysql–uroot–p(提示从终端输入口令,以*回显,不暴露口令)
3)MySQL的存取控制
验证链接
服务器基于你的身份和你是否能通过供应正确的口令验证身份来接受或拒绝连接,如果接受,则可等待请求。
a)从哪个主机连接(host)
b)使用的MySQL用户名(user)
c)口令是否正确(password)
服务器的User表定义了可以登录的身分条目。
a)Host值可以是主机名或IP地址,'localhost'指本地主机。
b)在Host字段里可以使用通配符字符“%”和“_”。
c)Host值‘%’匹配任何主机名,一个空白Host值等价于‘%’。表示任何主机都能利用该身分连接到服务器。
User表条目定义举例:
Host值User值被条目匹配的连接
'''fred'fred,从连接
''''任何用户,从连接
'%''fred'fred,从任何主机连接
'%'''任何用户,从任何主机连接
'%''fred'fred,从在域的任何主机连接
'x.y.%''fred'fred,从、,等联接。(这或许
无用)
'144.155.166.177''fred'fred,从有144.155.166.177IP地址的主机连接
'144.155.166.%''fred'fred,从144.155.166C类子网的任何主机连接
请求证实对验证通过的连接上来的每个请求,服务器检查是否有足够的权限来执行。
授权用Grant和Revoke来操作。
操作请求的权限通过下列表中的信息来验证:
●User表
●Db表
●Host表
●Tables_priv表
●Columns_priv表
MySQL中的权限项目
select表:查询drop数据库或表:删除
insert表:插入grant数据库或表:授权
update表:新建references数据库或表:关联
delete表:删除reload服务器管理:重载
index表:索引shutdown服务器管理:关闭
alter表:改变process服务器管理:进程
create数据库、表或索引:创建file服务器文件:存取