mysql数据库培训手册附:国产三大数据库资料

上传人:w****i 文档编号:96403052 上传时间:2019-08-26 格式:DOC 页数:46 大小:7.75MB
返回 下载 相关 举报
mysql数据库培训手册附:国产三大数据库资料_第1页
第1页 / 共46页
mysql数据库培训手册附:国产三大数据库资料_第2页
第2页 / 共46页
mysql数据库培训手册附:国产三大数据库资料_第3页
第3页 / 共46页
mysql数据库培训手册附:国产三大数据库资料_第4页
第4页 / 共46页
mysql数据库培训手册附:国产三大数据库资料_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《mysql数据库培训手册附:国产三大数据库资料》由会员分享,可在线阅读,更多相关《mysql数据库培训手册附:国产三大数据库资料(46页珍藏版)》请在金锄头文库上搜索。

1、1) 数据库培训手册1.1. MySQL基本常用路径数据库路径:/var/lib/mysql /usr/include/mysql配置文件:/usr/share/mysql(mysql.server命令及配置文件)相关命令:/usr/bin(mysqladmin、mysqldump等命令)启动脚本: /etc/rc.d/init.d/ (启动脚本文件mysql的目录)1.2. MySQLf配置文件f为MySQL数据库的主配置文件,存放在/etc下,打开如下图:innodb和myisam都是数据库的一种常用类型,基本区别如下:l innodb支持事务处理以及外部键和行级锁等高级数据库功能;l m

2、yisam不提供上述支持,更强调于性能,执行速度更快;管理员可以在【mysqld】下面对f进行配置更改,具体功能介绍如下:1.2.1. skip-name-resolve必须使用ip不能使用主机名;1.2.2. myisam-recover=default控制myisam查找和修复错误的方式(default代表mysql会尝试修复标记为崩溃或没有干净关闭的表,除了修复,不会做任何事情)1.2.3. datadir=/usr/local/apache/htdocs/keyun数据目录所在位置。1.2.4. port =56788mysql使用的端口。1.2.5. sql_mode=NO_ENGI

3、NE_SUBSTITUTION,STRICT_TRANS_TABLESsql_mode:根据需求定制MySQL服务器的操作模式,模式定义MySQL应支持哪些SQL语法,以及应执行哪种数据验证检查。这样可以更容易地在不同的环境中使用MySQL,并结合其他的数据库服务器使用MySQL。No_engine_substitution:如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎;Strict_trans_tables:如果不能将给定的值插入事务表中,则放弃该语句。对于非事务表,如果值出现在单行或多行的第一行则放弃该语句;1.2.6. innodb_buffer_pool_size = 1

4、G缓冲池字节大小(默认是128M), 这个值设置的越大,在不止一次的访问相同的数据表数据时,消耗的磁盘I/O就越少。(如果是一个专用的数据库服务器,可设置为高达80%的物理内存)实际测试中,带来的性能提升不明显,CPU压力反而增大!1.2.7. innodb_additional_mem_pool_size = 64M设置innodb存储的数据目录信息和其他内部数据结构的内存池大小,应用程序里的表越多,这里就应该越多的分配内存(如果此内存池满了,innodb会从操作系统分配内存,并在MySQL错误日志中写入告警信息)1.2.8. innodb_log_file_size = 256M如果对in

5、nodb表有大量写入操作,那么选择合适的日志大小对提升MYSQL性能很重要。设置太大的话,会在mysql崩溃或突然断电等情况时恢复时间变长(最大值为4G)1.2.9. innodb_log_buffer_size = 8Mlog_buffer是日志缓冲1.2.10. innodb_flush_log_at_trx_commit = 10代表log buffer美妙就会被刷写日志文件到磁盘,提交事务的时候不作任何操作(由线程thread和master执行);1代表(默认值是1)每次提交事务的时候都会将log buffer刷写到日志(刷指刷入到磁盘);2代表每次提交事务都会写日志,但并不会执行刷的

6、操作;(写入事务日志仅是调用了文件系统的写入操作,但文件系统是有缓存的,所以写入并不能保证数据已经写入到物理磁盘;)1.2.11. innodb_lock_wait_timeout = 500事务等待、获取资源等待的最长时间,超过这个时间还未分配到资源则会返回应用失败;(默认是50s)1.2.12. innodb_file_per_table=1修改innodb为独立表空间模式,每个数据库的每个表都会生成一个数据空间=1代表开启;1.3. MySQL用户设置与更改MySQL数据库默认会建立一个mysql库,并通过配置其中user表来管理用户,一下为关于用户设置的常用命令及图片:User表如图:

7、1) Host:对用户的登录来源进行设置。“%”表示允许所有来源;“localhost/127.0.0.1/:1”表示允许本地主机登录;2) User:登录用户名进行设置;3) Password:建立用户时创建的密码;4) Select_priv等相:用户对数据库的操作权限;(给新用户添加更改权限,建议使用root登录,然后赋权);用户设置命令如下:l MySQL用户登录:mysql u username p passwordl 创建用户:create user liusl% identified by 123456;liusl是username;%是hostname;123456是passw

8、ord;l 赋权用户:grant all on *.* to liusl%;命令格式:grant privileges on databasename.tablename to usernamehost;赋权后,用户liusl就可以使用select、insert、delete等功能了;l 查看授权信息:show grants for liusl %;l 取消用户授权:revoke all on mysql.* from liusl%;(取消授权,应根据查看的授权信息去输入相应命令。例如,用户对database或者table做了单独授权,取消授权时却输入的是*.*这样会导致取消授权失败!)l 修

9、改用户密码:set password for liusl%=password(1qaz);将原密码123456改为1qaz,如下图:l 删除用户:drop user liusl%;l 重启MySQL服务:/etc/init.d/mysql restart1.4. 常用sql命令l 查看数据库:show databases;l 使用数据库:use liushuolin;(数据库名)l 查看表:show tables;l 查看student表结构:desc student;l 常用字段类型:Char:固定长度字符型;上限255字节Varchar:可变长度字符型;上限65535字节(char和var

10、char若插入n个中文,会占用n*3个字符)Text:可变长度字符型;上限65535Int:数字型、整型(可进行加减乘除);Float:浮点型(单精度);格式:float(m,d),m是总位数,d是小数位数,例如插入12.3456查询结果为12.346 插入123.456查询结果为99.999;Date:日期型;格式:2015-12-09;Time:时间型;格式:09:10:01;Year:年份;Datetime:日期时间;格式:2015-12-09 09:10:01;Timestamp:自动存储记录修改的时间;l 创建表:create table student (name char(10)

11、 not null,hobby varchar(10),primary key(name);l 插入行:insert into student(name,hobby) values(wjx,girlfriend);不加列名的话要求插入的顺序一致;l 增加列:alter table student add number float(5,3);l 更新行:update student set number=number+1;l 查询表:select name,hobby,number from student;l 删除表:drop table student;l 删除行:delete from s

12、tudent where name=wjx;l 清空表:truncate table student;l 备份库:mysqldump u root p 数据库名 /路径/备份文件名.bakl 恢复库:mysql u root p 数据库名 /路径/备份文件名.bakl 备份多个库:mysqldump u root p 数据库名,数据库名 /路径/备份文件名.bak1.5. MySQL索引1.5.1. 简介索引的功能就是为了加速数据库查询。索引一个列会为该列创建一个有序的键数组,每个键指向其相应的表行。以后针对输入条件可以搜索这个有序的键数组,与搜索整个无索引的表相比,性能会提高很多。索引按类型

13、分为:普通索引(index)、主键索引(primary key)、唯一索引(unique)、全文索引(fulltext)1.5.2. 普通索引使用l 可以在建表是,选择想要入索引的列,定义索引例如:create table student(name char(10) not null,hobby varchar(10),index hello(hobby),primary key(name);l 直接创建普通索引给student表的hobby列添加名字为hello的索引:create index hello on student(hobby);或者alter table student add

14、 index(hobby);(这样添加会导致索引名与列名一致)只索引名字的前7个字符:create index hello on student(hobby(7));l 创建多个索引给student表的hobby和number列添加名字为hello的索引:create index hello on student(hobby,number);1.5.3. 其他类型索引建立1.6. 触发器(trigger)的建立使用1.6.1. 简介触发器是用来提供给程序员和数据分析人员来保证数据完整性的一种方法,它是与事件相关的特殊存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发。事件通常指

15、对某个表进行的操作(select、delete、update),并分为在这个操作执行发生的前后(before、after)进行触发,作用如下:l 可在写入数据表前,强制检验或转换数据;l 触发器发生错误时,异动的结果会被撤销;l 部分数据库管理系统可以针对数据定义语言(dll)使用触发器,成为DLL触发器;l 可依照特定的情况,替换异动的指令(instead of);1.6.2. MySQL触发器1) 首先建立2个表student和teachers,内容如下图: 2) 这里使用工具Navicat,在表student上建立触发器,选择student表点击“设计表”,输入触发条件并保存;此触发器的含义是:当对student表的name字段有操作行为的时候,在操

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号