#安装配置mysql
yum install mysql-server
service mysqld start
netstat -nplt | grep 3306
#开机启动
chkconfig mysqld on
chkconfig --list mysqld
#创建用户
CREATE USER 'hadoop'@'%' IDENTIFIED BY 'hadoop';
CREATE USER 'hadoop'@'localhost' IDENDIFIED BY 'hadoop';
CREATE USER 'hadoop'@'master' identified by 'hadoop';
grant all PRIVILEGES on *.* to hadoop@'%' identified by 'hadoop';
grant all PRIVILEGES on *.* to hadoop@'localhost' identified by 'hadoop';
grant all PRIVILEGES on *.* to hadoop@'master' identified by 'hadoop';
flush privileges;
#用此命令登录验证
[root@mysql ~]# mysql -uhadoop -phadoop
#UTF-8配置
参考:https://www.cnblogs.com/DreamDrive/p/7469476.html
1. 修改编码,设置为utf8
在 mysql 配置文件/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
2. 重启mysqld服务,并验证
service mysqld restart
验证编码是否确实修改;
show variables like 'char%';
3.针对元数据库metastore中的表,分区,视图的编码设置
因为我们知道 metastore 支持数据库级别,表级别的字符集是 latin1,那么我们只需要把相应注释的地方的字符集由 latin1 改成 utf-8,就可以了。用到注释的就三个地方,表、分区、视图。如下修改分为两个步骤:
(1)、进入数据库 Metastore 中执行以下 5 条 SQL 语句
①修改表字段注解和表注解
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
② 修改分区字段注解:
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;
③修改索引注解:
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
(2)、修改 metastore 的连接 URL
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://IP:3306/db_name?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8</value> <description>JDBC connect string for a JDBC metastore</description> </property>