mysql数据库

初识Azkaban

≯℡__Kan透↙ 提交于 2020-03-05 04:31:00
先说下hadoop 内置工作流的不足 (1)支持job单一 (2)硬编码 (3)无可视化 (4)无调度机制 (5)无容错机制 在这种情况下Azkaban就出现了 1)Azkaban是什么 Azkaban是由Linkedin开源的一个批量工作流任务调度器。用于在一个工作流内以一个特定的顺序运行一组工作和流程。Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。 2)Azkaban的功能特点 ①Web用户界面 ②方便上传工作流 ③方便设置任务之间的关系 ④工作流调度 ⑤认证/授权 ⑥能够杀死并重新启动工作流 ⑦模块化和可插拔的插件机制 ⑧项目工作区 ⑨工作流和任务的日志记录和审计 3)Azkaban的架构 MySQL实例 – Azkaban使用MySQL来存储项目和执行 Azkaban Web服务器 – Azkaban使用Jetty作为Web服务器,用作控制器以及提供Web界面 Azkaban执行服务器 – Azkaban执行服务器执行提交工作流 4)Azkaban三种运行模式 ①solo server mode H2 web server和executor server运行在一个进程里 ②two server mode MySQL(主从结构) web server和executor server运行在不同的进程

RHEL7.0安装MySQL后的相关问题

倾然丶 夕夏残阳落幕 提交于 2020-03-05 01:35:31
MySQL安装后的首次登陆,更改用户密码问题 一 启动MySQL时报错 使用 service mysqld start 开启MySQL服务时报错: Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details. 可以通过查看MySQL日志文件 /var/log/mysqld.log 此日志十分重要,务必记住 。 使用 tail -n 100 /var/log/mysqld.log 来查看最新记录的100条日志。 分析其中的错误[ERROR],每个人遇到的情况不同,请自行百度。 我的错误显示为: [ERROR] –initialize specified but the data directory has files in it. Aborting. 说明MySQL中的data目录已经有数据了。 先找到MySQL的data目录 > vim /etc/my.cnf 其中显示 datadir=/var/lib/mysql, 该目录即为data目录。 > ls /var/lib/mysql #查看其中的文件 > cd /var/lib/ > mv

Windows下QT MySQL驱动编译

社会主义新天地 提交于 2020-03-04 21:25:05
在Windows环境中使用Qt进行关于MySQL数据库的操作时,会出现如下问题: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC 这是由于MySQL数据库的驱动程序未在Qt下编译造成的(确切的说是未使用 mingw32进行编译 ),解决的方法如下: 1. 自定义安装MySQL,注意安装目录不要有空格,我的目录在 C:\MySQL\MySQL Server 5.6 虽然二级目录有空格,但是没有影响。 2. 打开Qt Command Prompt,切换到目录: cd %QTDIR%\src\plugins\sqldrivers\mysql 3. 执行如下命令: qmake "INCLUDEPATH+=C:\MySQL\MySQL Server 5.6\include" "LIBS+=C:\MySQL\MySQL Server 5.6\lib\libmysql.lib" mysql.pro 注意上述目录与安装的MySQL版本有关,本人使用的版本为: mysql-installer-community-5.6.26.0.msi 4. 执行 mingw32-make 此处可能出现如下错误: In file included from main.cpp:44

Redis面试必知必会

廉价感情. 提交于 2020-03-04 20:22:00
1. 在项目中缓存是如何使用的? 结合自己的公司的项目, 回答以下问题: 项目哪里用了缓存? 为什么要用? 用了可能会带来什么问题? 怎么解决这些问题? 项目的缓存架构是怎么样的? 如果面试官没有问这些问题, 我们也要主动和面试官聊聊. 2. 为什么要在项目中用缓存? (1) 高性能 如果不使用缓存, 每次请求都有较大的延迟, 比如600ms, 而如果每次请求都走缓存, 可能2ms就搞定了. (2) 高并发 在高并发场景下, 比如秒杀之类的促销活动, 如果所有请求都直接查询数据库, 会导致数据库宕机, 这个时候就需要缓存来分担数据库的压力. 3. 用了缓存之后可能会带来什么问题? 如何解决? (1) 缓存与数据库双写不一致 我们先了解下最经典的缓存和数据库的读写模式: 读的时候先读缓存, 再读数据库. 如果缓存中没有, 则从数据库中读取数据写入缓存. 修改数据的时候, 先删除对应的缓存, 再更新数据库. (或者先更新数据库, 再删除缓存) 从上面这个读写模式中我们可以发现, 在修改数据的时候, 只会更新数据库, 而不会同步更新缓存, 缓存是下次读的时候再更新. 这样做的原因是更新缓存的代价比较大, 比如对于一些比较复杂的业务场景, 缓存数据可能涉及到多张表的查询计算, 同时这个缓存数据还不一定会被频繁的访问, 所以综合考虑, 修改数据的时候直接删除缓存,

函数计算支持 MySQL 实例绑定

风流意气都作罢 提交于 2020-03-04 19:02:26
函数计算(Function Compute) : 函数计算 是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。 背景 通过工单和客户群里面的反馈,我们发现存在大量用户问:“函数计算如何安全的访问某某资源”。例如:函数计算如何安全的访问 RDS 资源等等诸如此类。 尤其是 “函数计算如何安全访问 RDS 资源” 这种问题特别多,我们针对该类型问题提供了服务配置中绑定 RDS 实例功能,帮助用户解决如何实现内网访问 RDS 资源问题。 操作步骤 创建专有网络 VPC 实例,具体搭建步骤可以参考 详情 。 为创建的服务配置专有网络 VPC 实例,具体可以参考一下 详情 。 创建 MySQL 实例。 在 RDS 控制台 新建RDS实例,点击创建实例。 基本配置选择您需要的配置,没有特殊要求选择默认配置即可。 网络类型选择专有网络,并选择您已经创建的 VPC 和交换机。注意选择的专有网络实例需要和函数计算配置的专有网络实例一致。 选择您需要的存储空间和购买量,立即购买。即成功创建了 RDS 实例。 在函数计算服务配置页面选择您创建好的 RDS 实例,点击添加,如图! 5

MySQL——索引

牧云@^-^@ 提交于 2020-03-04 15:51:44
1 索引的常见模型 1.1 哈希表 哈希表是一种以键-值(key-value)存储数据的结构,只要输入待查找的键key, 就可以找到对应的值value。 哈希表适用于做等值查询(即查找的key值在表中有对应),但是哈希索引做区间查询的速度是很慢的 1.2 有序数组 查找数据的时间复杂度是O(log(N))。仅看查询效率,有序数组是一种非常好的数据结构,但是更新数据比较慢,因为要做数据的挪动工作。所以,有序数据只适用于静态存储引擎。 1.3 N叉搜索树 多叉树就是每个结点有多个儿子,儿子之间的大小保证从左到右递增。二叉搜索树效率是最高的,但是实际大多数的数据库存储并不使用二叉树,原因是,索引不止存在内存中,还要写到磁盘上。为了尽量少地读磁盘,一般使用N叉树。N取决于数据块的大小。 2 InnoDB的索引模型 2.1主键索引与非主键索引 在InnoDB中,表都是根据主键顺序以索引的形式存放的,这种存储方式称为索引组织表。InnoDB使用B+树索引模型,所以数据都是存储在B+树中的。 索引类型分为 主键索引 和 非主键索引 。 主键索引 的叶子结点是整行数据。在InnoDB中,主键索引也被称为聚簇索引(clustered index)。 非主键索引 的叶子结点是主键的值。在InnoDB中,非主键索引也被称为二级索引。 2.2 索引维护 自增主键是指自增列上定义的主键,在建表语句中一般是

一次SQL查询优化原理分析(900W+数据,从17s到300ms)---转载

烈酒焚心 提交于 2020-03-04 15:35:47
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时 16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时 347 ms (execution: 163 ms, fetching: 184 ms); 操作: 查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段; 原理: 减少回表操作; -- 优化前SQL SELECT 各种字段 FROM `table_name` WHERE 各种条件 LIMIT 0,10; -- 优化后SQL SELECT 各种字段 FROM `table_name` main_tale RIGHT JOIN ( SELECT 子查询只查主键 FROM `table_name` WHERE 各种条件 LIMIT 0,10; ) temp_table ON temp_table.主键 = main_table.主键 找到的原理分析:MySQL 用 limit 为什么会影响性能? 一,前言 首先说明一下MySQL的版本: mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.17 | +-----

移植mysql到arm平台

自作多情 提交于 2020-03-04 15:13:02
最近需要将一个程序移植到arm平台上,程序调用了MySQL数据库,所以就牵扯到将MySQL数据库移植到ARM平台上面,所以在网上大量查阅资料。在baidu文库发现了一篇文档,是wlzxlc上传的文档名称为 :《 编译ARM平台的QtEmbedded的MySQL插件和移植MySQL 》 。 下面说明里面介绍到: ARM平台下的QtEmbedded所需mysql插件,及MySQL的移植。 我的整个移植过程参考了这篇文档,但是遇到了很多的问题,所以又上网搜寻其它资料。现在我已经移植成功,回头看这篇文档,就发现里面有很多疏漏甚至是错误。这些东西如果不详细注明出来,更多的新手绝对还会重蹈我的覆辙,所以在这里将 mysql 的 arm+linux 移植经验贴出来,希望对新手以及做相关方面工作的人能有帮助。所有在《 编译ARM平台的QtEmbedded的MySQL插件和移植MySQL 》这篇文档中的错误以及注意事项,我也会一一列出,在下面我将其称为“原文”。 编译器:arm-linux-gcc(4.3.2) P c平台:ubuntu 在移植之前有必要先说明一下几个问题: 1.M y SQL还没有支持交叉编译的版本出现.但为了让编译继续 , 必须在 configure 脚本中将多处不支持交叉编译的命令全都注释掉,才能让 configure 顺利通过。 2.交叉编译过程中需要用到 ncurses-5

JDBC 获取连接的五种方式(MySql 8.0)

做~自己de王妃 提交于 2020-03-04 13:52:21
jar包可百度下载 方式一: public void test01 ( ) throws SQLException , ClassNotFoundException { //获取Driver的实现类对象 Driver driver = new com . mysql . cj . jdbc . Driver ( ) ; Properties info = new Properties ( ) ; String url = "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useSSL=false" ; info . setProperty ( "user" , "root" ) ; info . setProperty ( "password" , "123456" ) ; //这里就是你自己数据库的密码了 Connection con2 = driver . connect ( url , info ) ; System . out . println ( con2 ) ; } 方式二: 不出现第三方的API 使用反射 public void test02 ( ) throws SQLException , Exception { //获取Driver的实现类对象 Class clazz = Class . forName

windows下使用mysql压缩包安装mysql

隐身守侯 提交于 2020-03-04 13:07:09
我想要安装的版本是5.6,其它版本可以自行选择,目前的最高版本是8.0.不过市面上用的比较多的还是5.6、5.7吧。像阿里这样的公司,都对mysql进行了二开。GG 进入 https://www.mysql.com/ ,选择dowloads,拉到最下面 MySQL Community (GPL) Downloads » 选择: MySQL Community Server 默认是最高版本:MySQL Community Server 8.0.19 选择要下载的 5.6.46 https://downloads.mysql.com/archives/community/ 点击下载,需要登录。 2.安装 2.1,解压下载下来的压宿包,然后把解压后的文件夹迁到想要安装的目录,如:D:\Program Files 下面 为了方便我把文件夹重命名为 mysql-5.6 2.设置系统目录 3.在mysql目录中找到 data 文件夹,如果不存在就新建一个 data 文件夹 修改一下配置文件,拷贝 mysql 目录中的my-default.ini,重命名为 my.ini,打开my.ini,修改或添加配置,然后保存 basedir = D:\Program Files\mysql-5.6(mysql所在目录) datadir = D:\Program Files\mysql-5.6\data