首家大数据培训挂牌机构 股票代码:837906 | EN CN

九章学会Hive - Linux下操作Mysql

于2017-06-15由小牛君创建

分享到:


1.  LinuxMysql数据库

2.1安装

1删除原本依赖

rpm -e --nodeps `rpm -qa |grep MySQL`

2然后yum在线安装

 yum install -y mysql-server

3启动mysql服务

sudo service mysqld start

4初始化配置

mysql_secure_installation

5加入到开机启动项

chkconfig mysqld on

6权限授予

grant all privileges on *.* to 'root'@'%' identified by 'root';

flush privileges;

 

2.2hive乱码问题

修改hive mysql元数据库的以下编码即可:

 

-- 修改表字段和表COMMENT

ALTER TABLE COLUMNS_V2 MODIFY COLUMN COMMENT VARCHAR(256) CHARACTER SET utf8;

ALTER TABLE TABLE_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;

-- 修改分区字段COMMENT

ALTER TABLE PARTITION_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;

ALTER TABLE PARTITION_KEYS MODIFY COLUMN PKEY_COMMENT VARCHAR(4000) CHARACTER SET utf8;

-- 修改索引COMMENT

ALTER TABLE INDEX_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;

 

 

2.7linux下mysql编码修改

rpm离线包安装:

cp /usr/share/mysql/my-small.cnf /etc/my.cnf

vim /etc/my.cnf

[client]下面增加

default-character-set=utf8

[mysqld]下面增加

default-character-set=utf8

init_connect='SET NAMES utf8'

 

yum在线方式:

vim /etc/my.cnf

[mysqld]下面增加

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

 

重启mysql服务

service mysql restart

 

查看编码

show variables like 'char%';

临时设置编码

SET NAMES utf8;

 

 

2.8Hive在mysql的体现

image.png

TBLS维护表与数据库的关系

image.png

DBS描述了有哪些数据库

image.png

SDS描述表在hdfs的位置,并 维护表与字段的关联关系

image.png

COLUMNS_V2描述表与字段的关系

image.png