第一部分 安装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&useUnicode=false&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