首页
学习
活动
专区
圈层
工具
发布

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。

3K30

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

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

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

    MySQL-储存引擎

    MySQL体系结构 MySQL的系统体系结构一般来说分为一下几层: 连接层 服务层 引擎层 储存层 存储引擎简介 存储引擎是储存数据,建立索引,更新/查询数据的实现方式。...= 储存类型 [ 注释 ] ; 查看当前数据库支持的储存引擎: show engines; InnoDB 介绍 InnoDB是一种高可靠性和高性能性的储存引擎,自从MySQL 5.5之后,InnoDB...就是MySQL的默认储存引擎。...逻辑储存结构 MyISAM 介绍 是早期MySQL的默认储存引擎 特点 支持表锁,不支持行锁 访问速度更快 文件 xxx.sdi 储存表结构信息 xxx.MYD 储存数据 xxx.MYI 储存索引...选择 针对应用系统的选择合适的储存引擎,当然也可以根据实际系统的情况,自由的对储存引擎进行组合 InnoDB:是MySQL的默认储存引擎,支持事务,外键。

    46610

    设置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是否编辑成功: 然后再次上传文件到数据库,显然这是成功的

    5.6K70

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

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

    1.5K20

    使用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 运行: 查询数据: 结果 可以插入的时候不选择加密参数 那么查询的时候也可以不用加密参数...,不过建议加密钥就算进入数据库,不知道密钥也解不开数据。

    2.6K10

    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

    3.7K30

    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

    1.5K40

    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报错问题 就不会踩坑了 这是我的一点踩坑经历,希望能给看到文章的你一点帮助

    3.3K30

    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

    1.1K10

    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

    3.2K20

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

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

    2.3K40

    如何用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

    82730

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

    什么是存储过程,如何创建一个存储过程 存储过程的英文是 Stored Procedure,它的思想很简单,就是 SQL 语句的封装; 一旦存储过程被创建出来,使用它就像使用函数一样简单; 我们直接通过调用存储过程名即可...CREATE PROCEDURE 存储过程名称 ([参数列表]) BEGIN 需要执行的语句 END ---使用储存过程 CALL 存储过程名称 ([参数列表]); 使用Mysql的储存过程...,时间为 2021 年 1 月 16 日 0 点 0 分 0 秒,然后用 date_temp 变量计算每个用户的注册时间,新的注册用户与上一个用户注册的时间间隔为 60 秒内的随机值。...注意: 如果你使用 Navicat 这个工具来管理 MySQL 执行存储过程,那么直接执行上面这段代码就可以了; 如果用的是 MySQL,你还需要用 DELIMITER 来临时定义新的结束符; 因为默认情况下...,因此我们就需要临时定义新的 DELIMITER,新的结束符可以用(//)或者($$); 如果你用的是 MySQL(指的客户端),那么上面这段代码,应该写成下面这样: --创建表 CREATE TABLE

    2.1K50

    在线直播源码,节省储存空间的分布式储存

    在线直播源码对服务器的储存空间依赖性极强,主要在于直播间录像的储存需要用到大量的内存。...对于没有太多资金搭建服务器的运营商来说,分布式储存的优势在于能节省储存空间,及时是在单个服务器的情况下也能胜任响应、储存,下面我们具体来看一下分布式储存的具体优势。...在平时传递数据时,也会进行备份,在服务器无法工作时,仍然可以通过其他服务器读取备份的内容 二、高性能 高性能的分布式储存能加快用户的访问速度,并且可以根据在线直播源码的访问情况给予一定的访问加速。...三、分级储存 当在线直播源码收到新的ip地址访问时,为了找到最佳的响应路线,可能首次开屏会浪费一点时间,如果没有采用分布式部署,这种情况下如果用户的网络信号不够好,就会影响到整个服务器其他的用户,采用分布式储存....jpeg 分布式储存具备分布式部署的全部优点,同样对服务器有了一定的要求,配置太低的服务器能使用分布式部署,但对分布式储存的压力可能会顶不住,所以建议在线直播源码不要使用配置太差的服务器。

    3K10
    领券