首页 > 代码库 > 使用mysql管理meta

使用mysql管理meta

第一部分 安装mysql

第二部分 使用mysql管理meta

 

安装mysql

安装

  yum -y install mysql mysql-server

yum方法安装需要使用网络;可以自动续传;对于要依赖的包,能自动下载;

rpm方法安装对于需要依赖的包,需要手动下载;

mysql基础知识

查看mysql版本
  rpm -qi mysql-server  --查看详细信息
  mysql -V   --查看简略版本信息
 
配置

root用户下配置mysql默认编码

vi /etc/my.cnf
在[mysqld]配置组下添加
default-character-set=utf8
在新添加组[mysql]配置组下添加
default-character-set=utf8    --mysql5.5之前,必须用这个,5.5之后推荐使用character-set-server=utf8
 
把mysql的jdbc驱动包放在hive/lib下(这一步是为了在hive中使用mysql,所以只是为了安装mysql,可忽略这一步)
cp mysql-connector-java-5.1.21.jar /opt/hive/lib
配置hive-site.xml
<property>
 <name>javax.jdo.option.ConnectionURL</name>
 <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useUnicode=false&amp;characterEncoding=latin1</value>
 <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionDriverName</name>
 <value>com.mysql.jdbc.Driver</value>
 <description>Driver class name for a JDBC metastore</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionUserName</name>
 <value>root</value>
 <description>username to use against metastore database</description>
</property>
<property>
 <name>javax.jdo.option.ConnectionPassword</name>
 <value>root</value>
 <description>password to use against metastore database</description>
</property>

 

启动mysql

chkconfig mysqld on   --设置mysql服务开机自动启动
service mysqld start   --启动mysql服务器
mysql          --启动mysql的client端
 
 
启动遇见的问题
  #service mysqld started 
  MySQL Daemon failed to start.
  Starting mysqld: [FAILED]
解决办法:
1)chkconfig --list mysqld   确认mysql启动状态,2-5需要时启动状态;是正确状态
2)进入 /var/lib/
    ls -alh   查看mysql的用户是否是mysql
    chown -R mysql:mysql /var/lib/mysql/  如果不是,则将mysql文件赋给mysql
 
3)less /var/log/mysqld.log  查看mysql日志

1.提示表不存在"Table ‘mysql.plugin‘ doesn‘t exist"

2.可能是没有执行 mysql_install_db - u mysql 或 mysql_upgrade创建初始mysql数据库

 

安装成功mysql后,设置mysql密码

首次安装,无密码,直接mysql进入,执行下面sql:
    set password for root@localhost=password(‘密码‘);
非首次安装,有密码,使用下面命令修改密码:
    /usr/bin/mysqladmin -uroot -p password root

 # mysql -uroot -p 

   输入密码,即可登录

 

使用mysql管理meta

==============登录mysql,创建hive数据库==================

# mysql -uroot -p
输入密码,即可登录
mysql> create database hive;   此处的hive与配置中的hive必须一样。否则创建出错。
mysql> alter database hive character set latin1;  --设置latin1编码
mysql> show tables;    --查看表

mysql> select * from TBLS;

==============进入hive,创建表my==================
[hadoop@localhost bin]$ ./hive

hive> show tables ;
OK
Time taken: 3.101 seconds

hive> create table my(id int,name string) row format delimited fields terminated by ‘\t‘ stored as textfile;
OK
Time taken: 0.408 seconds
hive> show tables;
OK
my
Time taken: 0.197 seconds

==============在root用户中,创建文本文件==================

mkdir /opt/data
vi /opt/data/test.txt
在其中插入数据,以tab键分隔(hive中创建的语句这样自定义的)如下:
1  xixi
2  xiaoxi
==============进入hive,添加文本数据到表my==================

hive> load data local inpath ‘/opt/data/test.txt‘ overwrite into table my;
Copying data from file:/opt/data/test.txt
Copying file: file:/opt/data/test.txt
Loading data to table default.my
Deleted hdfs://localhost:9000/user/hive/warehouse/my
OK
Time taken: 0.402 seconds
hive> select * from my;

hive> select count(*) from my;

==============进入mysql,查看表my==================
# mysql -uroot -p
输入密码,即可登录
mysql>use hive;

Database changed
mysql> show tables;
+-----------------+
| Tables_in_hive |
+-----------------+
| BUCKETING_COLS |
| CDS |
| COLUMNS_V2 |
| DATABASE_PARAMS |
| DBS |
| PARTITION_KEYS |
| SDS |
| SD_PARAMS |
| SEQUENCE_TABLE |
| SERDES |
| SERDE_PARAMS |
| SORT_COLS |
| TABLE_PARAMS |
| TBLS |
+-----------------+
14 rows in set (0.00 sec)

 
 

 

使用mysql管理meta