HIVE再次尝试 用 Mysql 环境搭建 以及 mysql中文乱码完美解决

上文说道hive用默认的Derby作为metadata的存放处,但是这个缺点比较多,只能同时让一个用户登陆,重启机器后建的表也没了,不能用于真正的集群,下面讲解用mysql作为数据的搭建方法。

1. hive安装

第一步:安装mysql

因为我用的是ubuntu系统,安装比较简单,一行命令搞定

sudo apt-get install mysql-server

这里顺便说下mysql的数据文件放在/var/lib/mysql目录下,配置文件放在:/etc/mysql目录下

对于mysql5.5版本:可用sudo service mysql stop/start/restart 进行mysql开启与关闭

对于mysql5.5之前的版本,可用sudo /etc/init.d/mysql start|stop|restart|reload|force-reload|status 进行相关操作,最常用的就是stop、restart、start命令

第二步:配置hive

首先,我假设你已经能够用Derby作为数据正常运行hive了(参考文章:http://blog.csdn.net/jiacai2050/article/details/11738887),下面需要做一些配置:

把hive/conf文件夹中创建一个hive-site.xml的文件,内容为:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/metastore_db?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>mysql</value>
</property>
</configuration>

很明显,最后两项是配置mysql的连接用户名与密码,可根据实际情况更改。

这里还需要把mysql的连接jar把放到classpath下,注意:linux上CLASSPATH 必须为大写,我这里直接把mysql-connector-java-5.1.26-bin.jar放到hive的lib文件夹下,然后再在 .profile文件中添加这么一句:

export CLASSPATH=$HIVE_HOME/lib:$CLASSPATH

OK,这两步走完就完成配置任务了。

2.  ubuntu 安装mysql遇到的问题

我在安装mysql遇到这么一个问题,我把日志贴出来:

正在设置 mysql-server-5.5 (5.5.27-0ubuntu2) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
 子进程 已安装 post-installation 脚本 返回了错误号 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server 依赖于 mysql-server-5.5;然而:
  软件包 mysql-server-5.5 尚未配置。

dpkg: error processing mysql-server (--configure):
 依赖关系问题 - 仍未被配置
因为错误消息指示这是由于上一个问题导致的错误,没有写入 apport 报告。
                                                                    在处理时有错误发生:
 mysql-server-5.5
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

大约就是这么一个错误,这个问题让我很纠结了,后来在stackoverflow上找到一个方法:

sudo dpkg --remove mysql-server
sudo apt-get purge -f mysql-server mysql-common
sudo apt-get install mysql-server mysql-common

执行这三行命令后完美解决问题,但是原因我还没找到,先留一下。

修改mysql的root口令 :  sudo mysqladmin -u root -p password '你的新密码'


参考文章:

mysql安装:

http://wiki.ubuntu.org.cn/MySQL%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97

http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html

http://stackoverflow.com/questions/9972611/not-able-to-install-mysql-on-ubuntu-11

mysql启动/停止:

http://blog.csdn.net/phpandjava/article/details/4636610

mysql中文乱码:
http://alanlhy.iteye.com/blog/1060320 

3. mysql中文乱码解决

这里简单明了地说下:

对于mysql5.5版本,需要在/etc/mysql/my.cnf做如下修改:

[client]下添加:default-character-set = utf8

[mysqld]下添加:character-set-server
= utf8

对于mysql5.5之前的版本,做如下修改:

在[client] 和 [mysqld]下都添加一行

default-character-set
= utf8

如果在mysql5.5 版本中也这么配置会导致mysql服务起不来。

最后上图,有图有真相呀。

图1. 上图是没有修改前的mysql编码情况

图2.上图没有修改后的mysql编码情况

对于已经存在的数据库,可以通过执行下面的命令更改字符集:

ALTER DATABASE <db-name> CHARACTER SET utf8 COLLATE utf8_general_ci;

参考:

http://stackoverflow.com/questions/22572558/how-to-set-character-set-database-and-collation-database-to-utf8-in-my-ini

时间: 2024-11-10 00:14:08

HIVE再次尝试 用 Mysql 环境搭建 以及 mysql中文乱码完美解决的相关文章

visual studio 2010-VS2010MFC向mysql的表里添加数据中文乱码怎样解决

问题描述 VS2010MFC向mysql的表里添加数据中文乱码怎样解决 VS2010MFC向mysql的表里添加数据中文乱码怎样解决添加中文数据时为乱码 解决方案 http://zhidao.baidu.com/link?url=v-2TA8JfFBl1xJw5_gDxKW9P7nN8yJ6NH0pGkWfSExWU4KZw3BZWcy1K_fStSoRE4Fk8aEr4tDTkUIIj4EeHma 解决方案二: mysql设置UTF8字符集,连接数据库的时候也指定字符集为UTF8,然后MFC中

MySql中表单输入数据出现中文乱码的解决方法_Mysql

 MySQL会出现中文乱码的原因在于 1.server本身设定问题,一般来说是latin1 2.建库建表时没有制定编码格式. MySql中表单输入数据出现中文乱码的解决方法: 1.建库的时候 CREATE DATABASE test CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 2.建表的时候 CREATE TABLE content ( text VARCHAR(100) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

jdk1.6环境搭建netbeans的中文乱码

中文|中文乱码 增加支持库联接cd /usr/binln -sf /opt/jdk1.6.0/bin/javacln -sf /opt/jdk1.6.0/jre/bin/java 修改.bashrcexport JAVA_HOME=/opt/jdk1.6.0export JAVA_BIN=/opt/jdk1.6.0/binexport PATH=$PATH; $JAVA_HOME/binexport CLASSPATH=.; $JAVA_HOME/lib/dt.jar; $JAVA_HOME/l

windows server 2008/2012安装php iis7 mysql环境搭建教程_php实例

windows server 2008/2012安装php iis7 mysql环境搭建教程,具体内容如下 1.安装IIS windows server 2008的IIS版本为7.0,包括fastcgi,安装十分方便. 打开"开始"菜单→"服务器管理",出现服务器管理界面(图1) 图1 - 服务器管理 滚动条下翻,或者点击主菜单的"角色",然后点击"添加角色",出现向导页面后点击下一步,选择"web服务器(IIS)&

windows server 2008/2012安装php iis7 mysql环境搭建教程

windows server 2008/2012安装php iis7 mysql环境搭建教程,具体内容如下 1.安装IIS windows server 2008的IIS版本为7.0,包括fastcgi,安装十分方便. 打开"开始"菜单→"服务器管理",出现服务器管理界面(图1) 图1 - 服务器管理 滚动条下翻,或者点击主菜单的"角色",然后点击"添加角色",出现向导页面后点击下一步,选择"web服务器(IIS)&

Win+Nginx+PHP+MySQL环境搭建

1. Win+Nginx+PHP+MySQL环境搭建 Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定.低系统资源消耗而闻名.近几年Nginx在国内已经成炙热化状态,比如像腾讯.网易.51CTO.迅雷.当当网. 51.人人网等诸多大型网站都已经使用Nginx来做Web服务器,所以学习Nginx还是非常有必要的.2011年6月1日,nginx 1.0.4发布. 1.1. 程序下载

Windows Server 2016 配置指南 之 MySQL 环境搭建篇

如果不是硬性需要 MySQL 这里还是推荐使用开源社区维护的 MariaDB.欢迎阅读:MariaDB 环境搭建篇 MySQl 的安装文件又大步骤又冗杂,真不知道怎么想的. 一.下载并安装运行库如果在安装 PHP 的时候已经安装过,那么就不用再安装了. x64 安装 64 位的运行库,x86 安装 32位的运行库. 32位下载:https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc

解决MySQL客户端输出窗口显示中文乱码问题的办法_Mysql

最近发现,在MySQL的dos客户端输出窗口中查询表中的数据时,表中的中文数据都显示成乱码,如下图所示: 上网查了一下原因:之所以会显示乱码,就是因为MySQL客户端输出窗口显示中文时使用的字符编码不对造成的,可以使用如下的命令查看输出窗口使用的字符编码:show variables like 'char%'; 命令执行完成之后显示结果如下所示: 可以看到,现在是使用utf8字符编码来显示中文数据的,但是因为操作系统是中文操作系统,默认使用的字符集是GB2312,所以需要把输出窗口使用的字符编码

MySQL中文乱码怎么解决啊???????

问题描述 MySQL中文乱码怎么解决啊??????? 解决方案 解决方案二:配置字符集时选择utf8解决方案三:my.ini文件中改default-character-set=utf-8解决方案四:使用mySql-front工具吧,察看数据库时,可以设置使用的编码方式(指定gb2312),就Ok了.解决方案五:配置字符集时选择UTF-8解决方案六:先配置数据库的字符集是gb2312,如果你是web开发,注意检查写入数据库的时候中文是否已经乱码了...解决方案七:setCharacterEncod