收藏 分享(赏)

MySQL数据库培训手册(附:国产三大数据库).doc

上传人:精品资料 文档编号:8473646 上传时间:2019-06-29 格式:DOC 页数:47 大小:7.75MB
下载 相关 举报
MySQL数据库培训手册(附:国产三大数据库).doc_第1页
第1页 / 共47页
MySQL数据库培训手册(附:国产三大数据库).doc_第2页
第2页 / 共47页
MySQL数据库培训手册(附:国产三大数据库).doc_第3页
第3页 / 共47页
MySQL数据库培训手册(附:国产三大数据库).doc_第4页
第4页 / 共47页
MySQL数据库培训手册(附:国产三大数据库).doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、 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 下,打开如下图: 2 innodb 和 myisam 都是数据库的一种常用类型,基本区别如下: innodb 支持事务处理以及外

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 使

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

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

5、误日志中写入告警信息)1.2.8. innodb_log_file_size = 256M如果对 innodb 表有大量写入操作,那么选择合适的日志大小对提升 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 代表(

6、默认值是 1)每次提交事务的时候都会将 log buffer 刷写到日志(刷指刷入到磁盘) ;2 代表每次提交事务都会写日志,但并不会执行刷的操作;(写入事务日志仅是调用了文件系统的写入操作,但文件系统是有缓存的,所以写入并不能保证数据已经写入到物理磁盘;)1.2.11. innodb_lock_wait_timeout = 500事务等待、获取资源等待的最长时间,超过这个时间还未分配到资源则会返回应用失败;(默认是 50s) 4 1.2.12. innodb_file_per_table=1修改 innodb 为独立表空间模式,每个数据库的每个表都会生成一个数据空间“=1“代表开启;1.3.

7、 MySQL用户设置与更改MySQL 数据库默认会建立一个 mysql 库,并通过配置其中 user 表来管理用户,一下为关于用户设置的常用命令及图片:User 表如图:1) Host:对用户的登录来源进行设置。“%”表示允许所有来源;“localhost/127.0.0.1/:1”表示允许本地主机登录;2) User:登录用户名进行设置;3) Password:建立用户时创建的密码;4) Select_priv 等相:用户对数据库的操作权限;(给新用户添加更改权限,建议使用 root 登录,然后赋权) ;用户设置命令如下: MySQL 用户登录:mysql u username p pass

8、word 创建用户:create user liusl% identified by 123456; 5 liusl是 username;%是 hostname;123456是 password; 赋权用户:grant all on *.* to liusl%;命令格式:grant privileges on databasename.tablename to usernamehost;赋权后,用户 liusl 就可以使用 select、insert、delete 等功能了; 查看授权信息:show grants for liusl %; 取消用户授权:revoke all on mysql.

9、* from liusl%;(取消授权,应根据查看的授权信息去输入相应命令。例如,用户对database 或者 table 做了单独授权,取消授权时却输入的是*.*这样会导致取消授权失败!) 修改用户密码:set password for liusl%=password(“1qaz“); 6 将原密码 123456 改为 1qaz,如下图: 删除用户:drop user liusl%; 重启 MySQL 服务:/etc/init.d/mysql restart 7 1.4. 常用 sql 命令 查看数据库:show databases; 使用数据库:use liushuolin;(数据库名)

10、查看表:show tables; 查看 student 表结构:desc student; 常用字段类型:Char:固定长度字符型;上限 255 字节 8 Varchar:可变长度字符型;上限 65535 字节(char 和 varchar 若插入n 个中文,会占用 n*3 个字符)Text:可变长度字符型;上限 65535Int:数字型、整型(可进行加减乘除) ;Float:浮点型(单精度) ;格式:float(m,d) ,m 是总位数,d 是小数位数,例如插入 12.3456 查询结果为 12.346 插入 123.456 查询结果为 99.999;Date:日期型;格式:2015-12-

11、09;Time:时间型;格式:09:10:01;Year:年份;Datetime:日期时间;格式:2015-12-09 09:10:01;Timestamp:自动存储记录修改的时间; 创建表:create table student (name char(10) not null,hobby varchar(10) ,primary key(name) ) ; 插入行:insert into student(name,hobby) values(wjx ,girlfriend) ;不加列名的话要求插入的顺序一致; 增加列:alter table student add number float

12、(5,3); 更新行:update student set number=number+1; 查询表:select name,hobby,number from student; 删除表:drop table student; 删除行:delete from student where name=wjx ; 清空表:truncate table student; 备份库:mysqldump u root p 数据库名 /路径/备份文件名.bak 恢复库:mysql u root p 数据库名 /路径/备份文件名.bak 备份多个库:mysqldump u root p 数据库名,数据库名 /路

13、径/ 9 备份文件名.bak1.5. MySQL 索引1.5.1. 简介索引的功能就是为了加速数据库查询。索引一个列会为该列创建一个有序的键数组,每个键指向其相应的表行。以后针对输入条件可以搜索这个有序的键数组,与搜索整个无索引的表相比,性能会提高很多。索引按类型分为:普通索引(index) 、主键索引(primary key) 、唯一索引(unique) 、全文索引(fulltext)1.5.2. 普通索引使用 可以在建表是,选择想要入索引的列,定义索引例如:create table student(name char(10) not null,hobby varchar(10) ,inde

14、x hello(hobby) ,primary key(name) ) ; 直接创建普通索引给 student 表的 hobby 列添加名字为 hello 的索引:create index hello on student(hobby);或者 alter table student add index(hobby);(这样添加会导致索引名与列名一致)只索引名字的前 7 个字符:create index hello on student(hobby(7)); 10 创建多个索引给 student 表的 hobby 和 number 列添加名字为 hello 的索引:create index he

15、llo on student(hobby,number); 11 1.5.3. 其他类型索引建立1.6. 触发器(trigger)的建立使用1.6.1. 简介触发器是用来提供给程序员和数据分析人员来保证数据完整性的一种方法,它是与事件相关的特殊存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发。事件通常指对某个表进行的操作(select、delete、update) ,并分为在这个操作执行发生的前后(before、after)进行触发,作用如下: 可在写入数据表前,强制检验或转换数据; 12 触发器发生错误时,异动的结果会被撤销; 部分数据库管理系统可以针对数据定义语言(dll

16、)使用触发器,成为DLL 触发器; 可依照特定的情况,替换异动的指令(instead of) ;1.6.2. MySQL 触发器1) 首先建立 2 个表 student 和 teachers,内容如下图:2) 这里使用工具 Navicat,在表 student 上建立触发器,选择 student 表点击“设计表” ,输入触发条件并保存; 13 此触发器的含义是:当对 student 表的 name 字段有操作行为的时候,在操作动作结束后,触发器启动,向 teachers 表插入一行,内容为lsl和10 。3) 对 student 表的 name 字段进行操作来触动触发器;Insert into

17、 student(name,hobby) values(111 , 111) ;4) 执行后,查看 student 和 teachers 表,发现 teachers 表有所变化,说明触发器建立成功,如下图: 14 1.6.3. 国产达梦数据库(类 Oracle)触发器1.6.3.1. INSERT1.6.3.2. UPDATE 15 1.6.3.3. DELETE1.6.3.4. 通过管理工具建立触发器 16 17 1.7. 达梦数据库的安装使用1.7.1. 安装达梦数据库 Linux 版本1) 将安装包 DMInstall.bin 拷贝到 Linux 上2) 给安装包赋权并更改所属用户、组:

18、更改归属用户:chown root DMInstall.bin更改归属组:chgrp root DMInstall.bin赋权:chmod 777 DMInstall.bin3) 运行./DMInstall.bin 进行安装,如下图: 18 19 20 21 22 修改系统的打开文件数上限,如下图: 23 1.7.2. 达梦的基本使用1) 主目录默认在:/opt/dmdbms/2) 数据库目录默认在:/opt/dmdbms/data/DAMENG3) 具体操作可以通过控制台“DM 管理工具” ,如下图: 24 25 4) 启动服务可以使用“DM 服务查看器”或者执行命令:/etc/init.d/DmServiceLSL restart5) 授权文件在:/opt/dmdbms/bin 名称为:dm.key6) 具体操作请查看,用户使用手册 26 1.8. 神通数据库的安装使用1.8.1. 安装神通数据库 Linux 版本进入安装目录执行安装脚本:sh setup.sh 27 28 29 30

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报