首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL数据库常识之储存引擎

储存引擎分类 show engines; 这个命令可以查看数据库的数据引擎,可以看到InnoDB是默认的引擎。 命令除了在终端运行,也可以在查询数据库可视化工具中运行。...设置默认引擎 SHOW VARIABLES LIKE 'default_storage_engine%' 这个语句可以查询当前默认的数据库引擎。...default_storage_engine%表示查询默认数据库存储引擎。 如果我们要修改默认储存引擎,我们可以通过修改my.ini/my.cnf文件实现(不建议!)。...添加 default-storage-engine = 数据库引擎名(INNODB/MYISAM)。 sudo service mysql restart 用命令重启mysql。...使用下面的语句可以修改数据库临时的默认存储引擎: SET default_storage_engine= 但是当再次重启客户端时,默认存储引擎仍然是InnoDB。

2.1K30

MySQL数据库高级篇之储存过程

MySQL 5.0终于开始已经支持存储过程,它是数据库中最重要的功能, 目的:将常用或复杂的工作预先用 SQL 语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程...通俗的说,他就是MySQL中的“方法”,和Java等语言方法概念是差不多的。...提高数据库的安全性和数据的完整性 使用存储过程可以完成所有数据库操作,并且可以通过编程的方式控制数据库信息访问的权限。...STATUS; -- 查看某一数据库的存储过程状态 SHOW PROCEDURE STATUS WHERE DB = '数据库名'; -- 查看储存过程的创建代码 SHOW CREATE PROCEDURE...IF EXISTS判断是否存在 如果你MySQL已经学到这里,那相比也能直接通过许多语法解释或者教学文章快速摸索出一二了,所以我也不像对于MySQL很罗嗦,就不会去怎么详细的说明了。

1.7K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    数据库如何储存和管理数据的?

    前言:众所周知,数据库就是一个将各类数据,以表格的形式存储的,但是看似如此简单的功能它是真的简单吗?我们和直接使用简单的Excel建立的表格有区别吗?如果有在哪里?...PS:本文以常用的MySQL为例 磁盘IO 在不考虑缓存等机制(数据IO)的前提下,首先我们知道,对于用户来说他使用数据时,会和其内部的存储设备,一般为磁盘(当然也有固态之类的更高效的存储设备,但是数据库一般是部署在服务端...为何更高的效率,一定要尽可能的减少系统和磁盘IO的次数 数据的存储 现在我们知道了数据库是数据文件的,但是又有一个新问题,那他是如何管理这些不同的page的呢? 链表?线性遍历 二叉搜索树?...B树看起来还可以但是如果在跨越了多个叶子节点的话,我们要连续的的查的话,就需要回到父节点再到下一个节点,IO次数多了(叶子节点不相连) 而且B树是每个节点都储存了数据,使得单个节点能储存的key少了,我们能不能极端一点...下图为常见的存储引擎底层所使用的储存的数据结构 特别的 MyISAM 存储引擎-主键索引 MyISAM 引擎同样使用B+树作为索引结果,叶节点的data域存放的是数据记录的地址。

    27920

    设置MySQL储存文件大小的限制

    在servlet上传图片到MySQL数据库过程中,MySQL存储文件大小是有限制的,比如数据库只能存储1M文件的大小,上传的文件就不能超过这个限制,如果超过限制就会报以下的错误信息: 故障现象:数据存储文件的时候报...以上的问题就是上传文件的大小已经超过数据库限制的大小,导致数据库存储不了文件,所以这个时候我们需要重新设置数据库存储文件的大小: 从报错看是 mysql的 max_allowed_packet参数值设置太少了...,用show VARIABLES like ‘%max_allowed_packet%’;查看,显示的是1M(1024x1024),这当然就有问题了,超过1M就存不了 MySQL根据配置文件会限制server...有时候大的插入和更新会被max_allowed_packet 参数限制掉,导致失败,要重新设置参数可以在MySQL命令行中运行: set global max_allowed_packet = 2x1024x1024x10...再次用show VARIABLES like ‘%max_allowed_packet%’ 查看下max_allowed_packet是否编辑成功: 然后再次上传文件到数据库,显然这是成功的

    3.7K70

    使用mysql函数在云端安全的储存密码

    Mysql 场景 因为大学时期接触社工库比较多,一直不敢一码通怕被撞库,短信验证码来随机设置密码。下次要用时再手机号找回,重新设置。...最近重装系统次数有点多,密码找回有点崩溃,于是决定把密码加密一下放在云端数据库。 这样就算数据库被拖也不怕密码丢失了。...srckey)) , HEX(AES_ENCRYPT(pwd, srckey)); END 入参: sys为系统 username为账户 pwd为密码 srckey为密钥 运行: 查看插入的数据...`value`),IFNULL(srckey,t.sys)) AS `value` from `user_info` `t`; END 运行: 查询数据: 结果 可以插入的时候不选择加密参数 那么查询的时候也可以不用加密参数...,不过建议加密钥就算进入数据库,不知道密钥也解不开数据。

    1.7K10

    Apache-Hive 使用MySQL存储Hive的元数据

    默认情况下,Hive的元数据是存储到Derby中的,这是Apache的一个纯Java编写的小巧数据库,类似于Sqlite。...配置Mysql服务端 安装Mysql服务器之后,你需要配置允许root用户的登录权限 打开MySQL客户端 mysql -uroot -p 使用Mysql数据库 use mysql 查询user表 select...-8.0.21.jar,将jar包移动至 /opt/apache-hive-1.2.2-bin/lib 下 配置Hive中MySQL的连接 第一步,在Hive的conf目录中新建文件hive-site.xml...Hive的metastore 的MySQL数据库的字符集格式问题。...2、配置MySQL后,第一次打开hive的时候Cli无响应: 这个问题查阅了很多资料并没有找到更加详细的信息,但是经过DEBUG初步判断还是MySQL数据库的问题,导致Hive第一次启动时无法正常完成Metastore

    2.9K30

    mysql储存过程怎么写_oracle的存储过程写法

    大家好,又见面了,我是你们的朋友全栈君。...存储过程写法是什么存储过程的写作是什么,存储过程的编写如下:1 .用代码[创建进程名]创建一个存储过程;2.用[EXECSP _ NAME]代码调用存储过程。...结束 /*注意:“sp_name”是要创建的存储过程的名称,不能以阿拉伯数字开头*/2、调用存储过程 存储过程可以在三种环境中调用: 在命令命令下,基本语法是exec sp _ name参数名]; 在SQL...预防 (1)不能在一个存储过程中删除另一个存储过程,但只能调用另一个存储过程 4、其他常用命令 1 .显示程序状态 显示数据库中所有存储过程的基本信息,包括数据库、存储过程名称、创建时间等。...2 .显示创建过程sp_name 显示mysql存储过程的详细信息 3.exec sp_helptext sp_name 显示由sp_name对象创建的文本。以上是存储过程写什么的详细内容。

    4K20

    Hive初步使用、安装MySQL 、Hive配置MetaStore、配置Hive日志《二》

    一、Hive的简单使用     基本的命令和MySQL的命令差不多     首先在 /opt/datas 下创建数据 students.txt     1001  zhangsan     1002  ...OK,退出Mysql之后在重新登录一下,登录成功! 三、Hive配置metastore    首先进入到Hive的安装目录中 /opt/moudles/hive-.....    ...配置好后执行一下 bin/hive 在mysql数据库中可以看见 hive给自动创建的数据库 ?   查看一下这个数据库中的表 ?...这个就是Hive的元数据所创建的 四、Hive的基本使用 # 查看 所有的数据库 show databases ; # 创建数据库 create database db_hive ; # 创建一张数据表...formatted student ; # 使用某个数据库 use db_hive ; # 将本地的数据导入到数据库中 load data local inpath '/opt/datas/students.txt'into

    83640

    数据库中如何安全储存用户的重要信息密码?

    数据库中如何安全储存用户的重要信息/密码? 怎么样才能安全,有效地储存这些私密信息呢,即使数据库泄露了,别人也无法通过查看数据库中的数据,直接获取用户设定的密码。这样可以大大提高保密程度。...想要安全地储存用户的信息,密码,加密是肯定少不了的。 本文用php对其做简单的演示! 首先,先尝试以下最简单的不加密储存形式。...运行后显示结果: 我们可以看到,不加密,储存进数据库后,密码一眼就可以看穿,万一数据库被入侵,用户的账户财产,隐私等都会受到威胁!...我们都知道,base64是一种简单的,可逆的加密形式。因此这样加密储存方式,并没有过多的作用!...---- 总结 通过我们上面所述,即可实现将用户输入的密码,用一个比较安全的形式储存在数据库里面,进而防止当数据库泄露或者被入侵的时候,用户数据遭到入侵,遭受损失!

    1.4K40

    hive数据库数据类型_hive decimal类型

    大家好,又见面了,我是你们的朋友全栈君。 下面介绍几种常用的数据类 (1)CHAR()该数据类型用于定义固定长度的字符串,其中用于指定字符串的最大长度,必须是正整数且不超过32767。...就对小数点左边的s个数字进行舍入 例:12345.345 NUMBER(5,-2) 12300 Number与int,float等数据类型的区别 oracle本没有int类型,为了与别的数据库兼容...,n表示的是小数位的位数。...其精度为38,要注意的是scale的值没有应用,也就是说scale的指不能简单的理解为0,或者其他的数。...定点数的精度(p)和刻度(s)遵循以下规则:  当一个数的整数部分的长度 > p-s 时,Oracle就会报错  当一个数的小数部分的长度 > s 时,Oracle就会舍入

    2K20

    hive建表并添加数据_hive和mysql的关系

    大家好,又见面了,我是你们的朋友全栈君。 在使用hive进行开发时,我们往往需要获得一个已存在hive表的建表语句(DDL),然而hive本身并没有提供这样一个工具。...要想还原建表DDL就必须从元数据入手,我们知道,hive的元数据并不存放在hdfs上,而是存放在传统的RDBMS中,典型的如mysql,derby等,这里我们以mysql为元数据库,结合0.4.2版本的...连接上mysql后可以看到hive元数据对应的表约有20个,其中和表结构信息有关的有9张,其余的10多张或为空,或只有简单的几条记录,以下是部分主要表的简要说明。...,hive一定会通过MTable的DAO模式向TBLS插入一条数据用来描述刚刚创建的hive表。...有了上面的信息,再想获得hive的建表语句已经是易如反掌了,这里提供一个已经开发好的脚本,使用shell开发,大家可以自由修改。注意:其中mysql连接信息请根据实际环境进行配置。

    2.9K30

    mysql uftb8mb4 储存 emoji 表情失败

    血淋淋的惨痛教训 众所周知 mysql 存 emoji 表情要用 utf8mb4 这个字符集 OK 没问题,设置 nick_name 为 utf8mb4 varchar(50) 测试的结果: ?     ...nick_name 存不进去,仔细调研发现是 部分emoji表情的用户 的 昵称储存失败。...经过周末两天的加班,终于把这个问题稳定的解决了: 数据库存 base64 encode 的 昵称, 从DB取出来时  decode一下。...总结: 1、我设置了utf8mb4 还是无法储存部分 moji 表情的原因是:新的moji 表情越来越多,mysql 版本却没有跟上,导致新的moji 表情存不进去。...我们还需要站到对立面多思考一个问题:Emoji表情存储至Mysql报错问题,于是你就能找到这篇:JAVA解决Emoji表情存储至Mysql报错问题 就不会踩坑了 这是我的一点踩坑经历,希望能给看到文章的你一点帮助

    2.7K30

    Hive基础01、安装MySQL

    Hive基础01、安装MySQL 目录 1、安装需要的包 2、卸载不需要的包 3、安装MySQL服务端 4、安装MySQL客户端 5、登录MySQL 6、修改密码 7、分配master权限 8、刷新权限...登录测试  ---- 1、安装需要的包 前置位置有【MySQL-server-5.1.73-1.glibc23.x86_64.rpm】和【MySQL-client-5.1.73-1.glibc23.x86...plipconfig 用来优化PLIP设备的参数以加快该设备的速度。 rarp 和arp命令类似,处理操作系统的RARP(逆向地址解析协议)表。 route 用来管理IP路由表。...ypdomainname同domainname. 2、卸载不需要的包 yum remove mysql-libs -y 3、安装MySQL服务端 rpm -ivh MySQL-server-5.1.73...-1.glibc23.x86_64.rpm 4、安装MySQL客户端 rpm -ivh MySQL-client-5.1.73-1.glibc23.x86_64.rpm 5、登录MySQL mysql

    74310

    Hive+Sqoop+Mysql整合

    Hive+Sqoop+Mysql整合 在本文中,LZ随意想到了一个场景: 车,道路,监控,摄像头 即当一辆车在道路上面行驶的时候,道路上面的监控点里面的摄像头就会对车进行数据采集。...我们对采集的数据进行分析,处理,最后把结果保存到mysql数据库中供Web UI显示监控点/摄像头状态。 工作流程如下: ?...数据导入到mysql中 --注意: --export-dir /user/hive/warehouse/t_monitor_camera/ 这里的地址可以在hive中, --通过desc formatted.../hive_to_mysql_vehicle.sh 9.结果 9.1.执行脚本前,检查mysql table --执行脚本之前,查询t_hive_to_mysql_for_vehicle mysql>.../摄像头情况 --异常的监控点/摄像头情况 mysql> select * from t_hive_to_mysql_for_vehicle where not_working_camera_num

    2.5K20

    如何用Mysql的储存过程,新增100W条数据

    CREATE PROCEDURE 存储过程名称 ([参数列表]) BEGIN 需要执行的语句 END ---使用储存过程 CALL 存储过程名称 ([参数列表]); SQL Copy...使用Mysql的储存过程,新增100W条数据 --创建表 CREATE TABLE `user`(`user_id` INT UNSIGNED AUTO_INCREMENT,`user_name` VARCHAR...,时间为 2021 年 1 月 16 日 0 点 0 分 0 秒,然后用 date_temp 变量计算每个用户的注册时间,新的注册用户与上一个用户注册的时间间隔为 60 秒内的随机值。...注意: 如果你使用 Navicat 这个工具来管理 MySQL 执行存储过程,那么直接执行上面这段代码就可以了; 如果用的是 MySQL,你还需要用 DELIMITER 来临时定义新的结束符; 因为默认情况下...,因此我们就需要临时定义新的 DELIMITER,新的结束符可以用(//)或者($$); 如果你用的是 MySQL(指的客户端),那么上面这段代码,应该写成下面这样: --创建表 CREATE TABLE

    30830
    领券