Linux下的Mysql安装 & 配置
Hive的数据,是存在HDFS里的。此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息。
元数据信息不存在HDFS里。而是存在关系型数据库里,hive默认用的是derby数据库来存储。即hive工作时,除了要依赖Hadoop,还要依赖关系型数据库。
注意:虽然我们能通过HDFS查看到hive有哪些数据库,有哪些表,以及表里的数据,但是,这不是元数据信息。HDFS最主要的是存储hive的数据信息。
之前遇到的问题是:当退出后,切换到不同的目录来进入hive,发现库和表没有了,是因为,第一次从bin目录进入hive,会在bin目录下创建一个metastore.db目录,在这个目录下,创建一个derby.log文件来存储元数据信息。这个元数据信息是基于bin目录来创建的。而切换到其他目录进入hive时,查询时不是基于bin目录来查询的,所有查不到元数据信息,导致查不到。
这个问题是derby数据库本身的问题,所以,我们不能用derby数据库,此外,用derby数据库,也不支持并发,比如一个人在操作hive,如果此时有其他人想用hive,用不了。
所以我们选择用mysql数据库。目前hive支持derby和mysql两种数据库。
安装步骤
1.下载mysql安装包
2.确认当前虚拟机之前是否有安装过mysql
执行:rpm -qa 查看linux安装过的所有rpm包
执行:rpm -qa | grep mysql
如果出现下图,证明已经安装了mysql,需要删除
3.删除mysql
执行:rpm -ev --nodeps mysql-libs-5.1.71-1.el6.x86_64
此时,再执行:rpm -qa | grep mysql 发现没有相关信息了
4.新增mysql用户组,并创建mysql用户
groupadd mysql
useradd -r -g mysql mysql
5.安装mysql server rpm包和client包
执行:rpm -ivh MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm
rpm -ivh MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm
6.安装后,mysql文件所在的目录
Directory Contents of Directory
/usr/bin Client programs and scripts
/usr/sbin The mysqld server
/var/lib/mysql Log files, databases
/usr/share/info MySQL manual in Info format
/usr/share/man Unix manual pages
/usr/include/mysql Include (header) files
/usr/lib/mysql Libraries
/usr/share/mysql Miscellaneous support files, including error messages, character set files, sample configuration files, SQL for database installation
/usr/share/sql-bench Benchmarks
7.修改my.cnf,默认在/usr/my.cnf
执行:vim /usr/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
8.将mysqld加入系统服务,并随机启动
执行:cp /usr/share/mysql/mysql.server /etc/init.d/mysqld
说明:/etc/init.d 是linux的一个特殊目录,放在这个目录的命令会随linux开机而启动。
9.启动mysqld
执行:service mysqld start
10.查看初始生成的密码
执行:vim /root/.mysql_secret 。这个密码随机生成的
11.修改初始密码
第一次安装完mysql后,需要指定登录密码
执行:mysqladmin -u root -p password root 此时,提示要输入初始生成的密码,拷贝过来即可
10.进入mysql数据库
执行:mysql -u root -p
输入:root进入
执行:\s
查看mysql数据配置信息
Hive的mysql安装配置
实现步骤:
1.删除hdfs中的/user/hive
执行:hadoop fs -rmr /user/hive
2.将mysql驱动包上传到hive安装目录的lib目录下
3.编辑新的配置文件,名字为:hive-site.xml
4.配置相关信息:
<configuration> <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true</value>
</property> <property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property> <property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
</configuration>
5.进入hive ,进入bin目录,执行:sh hive
如果出现:
Access denied for user 'root'@'hadoop01' (using password: YES)这个错误,指的是当前用户操作mysql数据库的权限不够。
6.进入到mysql数据库,进行权限分配
执行:
grant all privileges on *.* to 'root'@'hadoop01' identified by 'root' with grant option;
grant all on *.* to 'root'@'%' identified by 'root';
然后执行:
flush privileges;
7.如果不事先在mysql里创建hive数据库,在进入hive时,mysql会自动创建hive数据库。但是注意,因为我们之前配置过mysql的字符集为utf-8,所以这个自动创建的hive数据库的字符集是utf-8的。
但是hive要求存储元数据的字符集必须是iso8859-1。如果不是的话,hive会在创建表的时候报错(先是卡一会,然后报错)。
解决办法:在mysql数据里,手动创建hive数据库,并指定字符集为iso8859-1;
进入mysql数据库,
然后执行:create database hive character set latin1;
8.以上步骤都做完后,再次进入mysql的hive数据,发现有如下的表:
9.可以通过navicat来连接数据库。
10.可以通过DBS 、TBLS、COLUMNS_V2这三张表来查看元数据信息。
DBS 存放的数据库的元数据信息
TBLS存放的tables表信息
COLUMNS表存放的是列字段信息
此外,可以通过查看SDS表来查询HDFS里的位置信息
Linux下的Mysql安装 & 配置的更多相关文章
- Linux下Kafka单机安装配置方法(图文)
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...
- Linux(Manjaro) - Docker - MySQL 安装配置
Linux(Manjaro) - Docker - MySQL 安装配置 拉取mysql镜像 # 使用网易的 MySQL 镜像地址 docker pull hub.c.163.com/library/ ...
- Linux下Kafka单机安装配置方法
Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topi ...
- Linux 下编译并安装配置 Qt 4.53全过程
最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发.考虑到程序的跨平台可移植性,最终选择使用 Qt 开发.相对来说,国内关于 Qt 相关文档并不算很多.作者将 Linux 下编译并安 ...
- Linux下PHP+MYSQL+APACHE配置方法
apache: http://www.apache.org mysql: http://www.mysql.com php: http://www.php.net/downloads.php g ...
- (0)linux下的Mysql安装与基本使用(编译安装)
一.大致操作步骤 环境介绍: OS:center OS6.5 mysql:5.6版本 1.关闭防火墙 查看防火墙状态:service iptables status 这样就意味着没有关闭. 运行以下命 ...
- Linux下DHCP服务安装配置
简介 安装配置 一.简介 DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设 ...
- Linux下的MongoDB安装配置以及基本用法示例
一 MongoDB的安装配置 (1)下载并安装: MongoDB安装包下载地址:https://www.mongodb.com/download-center [root@localhost src] ...
- linux 下ftp的安装配置 图文教程
0.安装ftp的前置条件是关掉SElinux # vi /etc/selinux/config 修改 SELINUX=” disabled ” ,重启服务器.若相同,则跳过此步骤. 1. 可先查看是否 ...
随机推荐
- git 应用
git - 简易指南 助你开始使用 git 的简易指南,木有高深内容,;). 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹, ...
- HDU 1754:I Hate It(线段树模板)
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- C语言--第八周作业评分(5班)
作业链接:https://edu.cnblogs.com/campus/hljkj/CS2017-5/homework/1400 一.评分要求 要求1 完成14.15周的所有PTA中题目集,总共4次题 ...
- 《DSP using MATLAB》Problem 5.4
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- THML文档布局元素
学习要点: 1.文档元素总汇 2.文档元素解析 一.文档元素总汇 文档元素基本没有什么实际作用效果,主要目的是在页面布局时区分各个主题和概念. 元素名称 ...
- The key of real time embedded system
对于实时嵌入式系统来说,最重要的是每一个进程所需时间的可检测性,可预测性.要不你的实时性是没有办法保证的.有些时候你对一些没有从事过嵌入式开发的人谈这个进程(TASK)设计是按8ms被调度一次,他们会 ...
- jquery 实现的全选demo
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script sr ...
- 大数据框架hadoop服务角色介绍
翻了一下最近一段时间写的分享,DKHadoop发行版本下载.安装.运行环境部署等相关内容几乎都已经写了一遍了.虽然有的地方可能写的不是很详细,个人理解水平有限还请见谅吧!我记得在写DKHadoop运行 ...
- typedef定义数组类型
typedef语句定义数组类型 1. 一维数组类型的定义格式 typedef <元素类型关键字><数组类型名>[<常量表达式>]; 例如: (1) typedef ...
- 部署openresty遇到的一些坑
最近,遇到一个问题,就是我们CMS系统制作的产品页面和产品列表页面,发布到nginx服务器上,因为业务要求,客户看到的链接必须是短链接,当前的做法就是在nginx的配置中通过rewrite的方式做的. ...