MySQL是一个常用的关系型数据库管理系统,通过启动和关闭MySQL服务,可以控制数据库的运行状态。本节将介绍如何在Windows和Linux系统上启动和关闭MySQL服务。
大部分数据库都有存储数据文件扩展的功能,ORACLE 可以扩展你的表空间,SQL SERVER 可以多建立几个 FILEGROUP, PostgreSQL 也可以建立相关类似的扩展。这些都是对付当前存储空间不足,将数据文件跨物理位置进行存储。
经过分析发现,报错信息中的数据库,所有表名都混用了大小写字母,因为创建表之后,系统变量 lower_case_table_names 的值被从 0 修改为 1,导致删除这个数据库时,每个表的 ibd 文件删除成功,frm 文件删除失败。
我们在安装程序里面可能需要安装的时候将mysql一起安装,那么我们就按照下面的顺序思路来。
MySQL中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表。先从user表中的Host,User,Password这三个字段中判断连接的IP、用户名、密码是否存在,存在则通过验证。通过验证之后,则会进行权限分配,按照user,db,tables_priv,columns_priv的顺序进行验证。即先检查权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db,tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检查tables_priv中此数据库对应的具体表,取得表中的权限Y。网站使用时是否建议给予权限如下:
单独备份表的话需要表在独立的表空间里面,即配置了innodb_file_per_table参数
此电脑 -> 管理 -> 服务与应用程序 -> 服务 -> 找到 MySQL -> 停止
工(you)作(xi)需要,以前的笔电已经有点跟不上配置了,换了部新电脑,本来用以前的安装包,就不会有这个博文了。但是(新电脑怎么可以不配最新的mysql!)
长字符串查询的时候,对时间和空间耗费都大,这时候可以创建hash索引或者选择字符串前几位做索引排序,若使用字符串前缀做索引,则会排序失效,用文件排序。
1、配置文件参数my.cnf tmp_table_size=64M max_heap_table_size=64M tmpdir = /data/mysql/tmp 2、优化Tips: 如果Created_tmp_disk_tables/ Created_tmp_tables应该小于20%,如果比值较高,就需要适当调高tmp_table_size或者max_heap_table_size的值,让Mysql在内存中完成临时表的操作,减少使用硬盘对性能和响应时长的影响。 在调高tmp_table_size或者m
设置root用户在任何地方进行远程登录,并具有所有库任何操作权限。 (暴露的攻击面太大)。
然后点击downloads,community,选择MySQL Community Server。如下图:
在上一章我们了解到,物理文件层在MySQL架构位于最底层,将数据库的数据存储在文件系统上,并完成与存储引擎的交互。存储数据包括日志文件,数据文件,配置文件等。本章将介绍linux环境下MySQL的各类文件。
🧑个人简介:大家好,我是 shark-Gao,一个想要与大家共同进步的男人😉😉
Hive可以管理HDFS中的数据,可以通过SQL语句可以实现与MapReduce类似的同能,因为Hive底层的实现就是通过调度MapReduce来实现的,只是进行了包装,对用户不可见。 Hive对HDFS的支持只是在HDFS中创建了几层目录,正真的数据存在在MySql中,MYSQL中保存了Hive的表定义,用户不必关系MySQL中的定义,该层对用户不可见。Hive中的库在HDFS中对应一层目录,表在HDFS中亦对应一层目录,如果在对应的表目录下放置与表定义相匹配的数据,即可通过Hive实现对数据的可视化及查询等功能 综上所述,Hive实现了对HDFS的管理,通过MySQL实现了对HDFS数据的维度管理 Hive基本功能及概念 database table 外部表,内部表,分区表 Hive安装 1. MySql的安装(密码修改,远程用户登陆权限修改) 2. Hive安装获取,修改配置文件(HADOOP_HOME的修改,MySQL的修改) 3. 启动HDFS和YARN(MapReduce),启动Hive Hive基本语法: 1. 创建库:create database dbname 2. 创建表:create table tbname Hive操作: 1. Hive 命令行交互式 2. 运行HiveServer2服务,客户端 beeline 访问交互式运行 3. Beeline 脚本化运行 3.1 直接在 命令行模式下 输入脚本命令执行(比较繁琐,容易出错,不好归档) 3.2 单独保存SQL 命令到 文件,如etl.sql ,然后通过Beeline命令执行脚本 数据导入: 1. 本地数据导入到 Hive表 load data local inpath "" into table .. 2. HDFS导入数据到 Hive表 load data inpath "" into table .. 3. 直接在Hive表目录创建数据 Hive表类型: 1. 内部表: create table 表数据在表目录下,对表的删除会导致表目录下的数据丢失,需要定义表数据的分隔符。 2. 外部表: create external table 表目录下挂载表数据,表数据存储在其他HDFS目录上,需要定义表数据的分隔符。 3. 分区表:与创建内部表相同,需要定义分区字段及表数据的分隔符。在导入数据时需要分区字段,然后会在表目录下会按照分区字段自动生成分区表,同样也是按照目录来管理,每个分区都是单独目录,目录下挂载数据文件。 4. CTAS建表 HQL 1. 单行操作:array,contain等 2. 聚合操作:(max,count,sum)等 3. 内连接,外连接(左外,右外,全外) 4. 分组聚合 groupby 5. 查询 : 基本查询,条件查询,关联查询 6. 子查询: 当前数据源来源于 另个数据执行的结果,即当前 table 为临时数据结果 7. 内置函数: 转换, 字符串, 函数 转换:字符与整形,字符与时间, 字符串:切割,合并, 函数:contain,max/min,sum, 8. 复合类型 map(key,value)指定字符分隔符与KV分隔符 array(value)指定字符分隔符 struct(name,value) 指定字符分割与nv分隔符 9. 窗口分析函数 10. Hive对Json的支持
MySQL客户端和服务器端模型 MySQL是一个典型C/S,服务器端与客户端两部分组成 服务器端程序 mysqld mysql自带的客户端(mysql mysqladmin mysqldump等),API接口(php-mysql) 连接方式 通过网络连接串,TCP/IP:(用户名;密码;IP;port) mysql -uroot -p123 -h 10.0.0.52 -P 3306 通过套接字文件,SOCKET:(用户名;密码;Socket路径) mysql -uroot -p123 -S /appli
mysqldump是一种逻辑备份方式,将数据转换成sql文件,其最大的缺陷就是备份和恢复时间很长,对于一个小于10G的数据库而言,这个速度还是可以接受的,但是如果数据库较大,那在使用mysqldump备份就非常不合适了。
第三步:在命令行输入:mysql -u 用户名 -p密码;回车;-h表示服务器名,localhost表示本地,-hlocalhost 可不输入;-u为数据库用户名,root是mysql默认用户名;-p为密码,如果设置了密码,可直接在-p后链接输入,如:-p123456,用户没有设置密码,显示Enter password时,直接回车即可。)
大家好,我是一哥,昨天看到了过往记忆大佬发了一篇文章,才发现Sqoop这个项目最近不咋好,心里很不是滋味,这个帮助过很多开发者的项目,竟然从Apache顶级项目中“下架”了,今天还是想给大家分享介绍一些这个很棒的项目,致敬!
1、简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点: (1)备份过程快速、可靠; (2)备份过程不会打断正在执行的事务; (3)能够基于压缩等功能节约磁盘空间和流量; (4)自动实现备份检验; (5)还原速度快;
MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源。MySQL有以下特性:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1. 任何执行时间长于 wait_timeout或interactive_timeout选项值得备份,都会导致会话被关闭,这也会隐含执行UNLOCK TABLES命令。 2. 对于使用FLUSH TABLES WITH READ LOCK的备份策略来讲,一个共同的缺陷是它们需要两个独立的线程来完成备份过程。运行FLUSH TABLES WITH READ LOCK命令, 然后从当前连接退出将自动执行一条UNLOCK TABLES命令。从FLUSH TABLES WITH READ LOCK成功返回后,任何备份选项都必须在一个不同的并发线程中执行,只 有当适用的备份选项完成时,才可以执行UNLOCK TABLES. 3. 在高并发系统中使用FLUSH TABLES WITH READ LOCK命令的风险是有可能会需要较长的时间,因为有其他耗时较长的语句需要执行,最好被监控和终结,对于在 线型应用的影响又是是不可忽略的。 4. 对MySQL备份的常用方案: * 文件系统冷备份
MYSQL数据库-索引 零、前言 一、索引概念 二、认识磁盘 三、理解索引 1、如何理解Page 2、B+ vs B 3、聚簇索引 VS 非聚簇索引 4、普通索引 5、总结 四、索引操作 1、创建索引 2、查询索引 3、删除索引 零、前言 本章主要讲解MYSQL数据库中的索引这一重要知识点 一、索引概念 索引的价值: 提高数据库的性能,索引是物美价廉的东西了:不用加内存,不用改程序,不用调sql,只要执行正确的create index ,查询速度就可能提高成百上千倍,但是查询速度的提高是以插入、更新
备份数据库或表最快的途径,只能运行在数据库目录所在的机器上,并且只能备份MyISAM类型的表。
表在创建时,有分隔符属性,这个分隔符属性,代表在执行MR程序时,使用哪个分隔符去分割每行中的字段! 查看表(实际在HDFS中也是一个文件)中的所有内容(包括分隔符):
Sqoop - “SQL到Hadoop和Hadoop到SQL” sqoop是apache旗下一款"Hadoop和关系数据库服务器之间传送数据"的工具。 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统; 导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等。
Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并
MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 GPL(General Public License) 的许可下下载并根据个性化的需要对其进行修改。MySQL的默认端口号是3306。
如果 SQL 在执行过程中读到的数据无法直接得到结果,那么就需要额外的内存来保存中间结果,得出最终结果,这个额外的内存就是内部临时表。比如 group by 执行时,就需要构建一个临时表,需要额外的字段保存聚合函数的结果,当然为了防止内存使用过大,一般超出某个限制后就会放到磁盘上。关于哪些操作会产生内部临时表,可以查看官方文档:https://dev.mysql.com/doc/refman/8.0/en/internal-temporary-tables.html,下面主要介绍 MySQL 8.0 内部临时表存放方式的变化。
在hive的安装目录下,进入conf目录,创建一个hive-site.xml文件 根据官方文档配置参数,拷贝数据到hive-site.xml文件中 https://cwiki.apache.org/
作者:徐文梁,爱可生 DBA 成员,一个执着于技术的数据库工程师,主要负责数据库日常运维工作。擅长 MySQL,Redis 及其他常见数据库也有涉猎;喜欢垂钓,看书,看风景,结交新朋友。
undrop是一款针对mysql innodb的数据恢复工具,通过扫描文件或磁盘设备,然后解析innodb数据页进而恢复丢失的数据,对于drop、truncate以及文件损坏都很有帮助。本文介绍drop操作后表结构的恢复过程。
由于之前电脑上安装的MySQL版本是比较老的了,大概是5.1的版本,不支持JSON字段功能。而最新开发部门开发的的编辑器产品,使用到了JSON字段的功能。 因此需要升级MySQL版本,升级的目标版本是MySQL 5.7.30(虽然最新版本已经到8.x,但是5.7基本够用了)。 发现在升级安装过程中,会有一些坑,所以使用本文记录一下。
本文来源:https://www.percona.com/blog/,爱可生开源社区翻译。
读取顺序:/etc/mysql/my.cnf>/etc/my.cnf>~/.my.cnf
sqoop是apache旗下,用于关系型数据库和hadoop之间传输数据的工具,sqoop可以用在离线分析中,将保存在mysql的业务数据传输到hive数仓,数仓分析完得到结果,再通过sqoop传输到mysql,最后通过web+echart来进行图表展示,更加直观的展示数据指标。
电脑上装的是MySQL 5.5,准备直接升级到最新版本的5.7,对于MySQL好像并没有直接升级到最新版本的功能,下载了Windows上的安装程序(msi),运行时进行的是将我的5.5从小版本升级到大版本。
需要搭建一个网站,除了web就是数据库了,而LAMP套件就是“Linux+Apache+Mysql+PHP这四款软件组成了一个可以使网站运行的套装工具软件。
本文来源于好友投稿 博客园:HuaBro https://www.cnblogs.com/hightech/p/10238142.html 安装环境:win7 sp1 专业版 安装步骤: 1、下载zi
在本地开发时我使用的宝塔作为本地的集成环境,今天将宝塔程序进行了一次升级 ,之前的还是在18年的时候安装的呢,将近两年的时间了,在目前的环境要求上已经无法满足了。
在Linux系统上使用MySQL,MySQL是区分字母大小写的,例如建A表时表名是大写的A,修改A表时脚本里写的a,就会报错表a不存在。在MySQL中,数据库对应数据目录中的目录,数据库中的每个表至少对应数据库目录中的一个文件或多个文件,所以,是否区分大小写是其所在的操作系统决定的。在大多数基于Unix的系统中,MySQL是区分大小写的;而在Windows系统中,MySQL是不区分大小写的。 操作系统中提供了lower_case_table_names参数用于修改这种区分大小写的策略。默认情况下,Linux
我们可以直接把数据存放到文件中,这样也能保证数据长期存储,那为什么还要搞一个 数据库 呢?
3.全量导入(将数据从mysql导入到hive,hive表不存在,导入时自动创建hive表)
上篇文章说了,索引的b+树,聚簇索引 和 二级索引,以及如何使用索引,索引对空间和时间的影响,所以索引并不是越多越好。
业务有两个 MySQL 集群是通过 MQ 进行同步的,昨晚 MQ 出现异常,报了很多主键冲突,想请 dba 帮忙校验一下两个集群的数据是否一致。
摘要:从MySQL 5.7开始没有data文件夹,如果不进行初始化的话,mysql服务是无法启动的 正文: MySQL的安装 去官网下载zip格式的Mysql Server的压缩包(绿色版),根据个人电脑选择x86或者x64版本,点击最下面的跳过登录下载。 解压,复制my-dafault.ini到bin目录下,重命名为my.ini。可以根据需要复制以下内容: 12345678910111213141516[mysql]# 设置mysql客户端默认字符集default-character-set=utf8
领取专属 10元无门槛券
手把手带您无忧上云