《MySQL数据库培训介绍资料(附-国产三大数据库).doc》由会员分享,可在线阅读,更多相关《MySQL数据库培训介绍资料(附-国产三大数据库).doc(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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
2、myisam不提供上述支持,更强调于性能,执行速度更快;管理员可以在【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_ENG
3、INE_SUBSTITUTION,STRICT_TRANS_TABLESsql_mode:根据需求定制MySQL服务器的操作模式,模式定义MySQL应支持哪些SQL语法,以及应执行哪种数据验证检查。这样可以更容易地在不同的环境中使用MySQL,并结合其他的数据库服务器使用MySQL。No_engine_substitution:如果需要的存储引擎被禁用或未编译,可以防止自动替换存储引擎;Strict_trans_tables:如果不能将给定的值插入事务表中,则放弃该语句。对于非事务表,如果值出现在单行或多行的第一行则放弃该语句;1.2.6. innodb_buffer_pool_size =
4、1G缓冲池字节大小(默认是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如果对i
5、nnodb表有大量写入操作,那么选择合适的日志大小对提升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是pass
8、word;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和va
10、rchar若插入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
12、student 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 ad
14、d 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表点击“设计表”,输入触发条件并保存;此触发器
16、的含义是:当对student表的name字段有操作行为的时候,在操作动作结束后,触发器启动,向teachers表插入一行,内容为lsl和10。3) 对student表的name字段进行操作来触动触发器;Insert into student(name,hobby) values(111,111);4) 执行后,查看student和teachers表,发现teachers表有所变化,说明触发器建立成功,如下图: 1.6.3. 国产达梦数据库(类Oracle)触发器1.6.3.1. INSERT1.6.3.2. UPDATE1.6.3.3. DELETE1.6.3.4. 通过管理工具建立触发器 1
17、.7. 达梦数据库的安装使用1.7.1. 安装达梦数据库Linux版本1) 将安装包DMInstall.bin拷贝到Linux上2) 给安装包赋权并更改所属用户、组:更改归属用户:chown root DMInstall.bin更改归属组:chgrp root DMInstall.bin赋权:chmod 777 DMInstall.bin3) 运行./DMInstall.bin进行安装,如下图:修改系统的打开文件数上限,如下图:1.7.2. 达梦的基本使用1) 主目录默认在:/opt/dmdbms/2) 数据库目录默认在:/opt/dmdbms/data/DAMENG3) 具体操作可以通过控制
18、台“DM管理工具”,如下图:4) 启动服务可以使用“DM服务查看器”或者执行命令:/etc/init.d/DmServiceLSL restart5) 授权文件在:/opt/dmdbms/bin 名称为:dm.key6) 具体操作请查看,用户使用手册1.8. 神通数据库的安装使用1.8.1. 安装神通数据库Linux版本进入安装目录执行安装脚本:sh setup.sh 1.8.2. 神通的基本使用按照默认操作的流程,神通数据库会在图形化界面创建很多链接,也可以在管理里找到神通数据库相应的管理工具; 1.9. 人大金仓数据库的安装使用1.9.1. 安装人大金仓数据库注意:起初安装人大金仓数据库不可以使用root用户,应使用其他用户进行安装,而且要保证/home下有正常的用户文件!执行命令useradd lsl(此处建立了新用户lsl)用此用户登录! 切换回root用户,进入之前设置好的安装的路径/home/lsl/rdjc/install执行脚本Root.sh,进行后续安装; 1.9.2. 人大金仓的基本使用使用之前建立的账户lsl登录,可以选择web端管理或者管理工具进行管理;数据库默认管理员用户名是:system 密码设置的是123456也可以通过“查询分析器”进行管理用户手册和数据库的命令文件都可以帮助你了解人大金仓数据库。