天天看點

HIVE再次嘗試 用 Mysql 環境搭建 以及 mysql中文亂碼完美解決

第一步:安裝mysql

因為我用的是ubuntu系統,安裝比較簡單,一行指令搞定

這裡順便說下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

把hive/conf檔案夾中建立一個hive-site.xml的檔案,内容為:

很明顯,最後兩項是配置mysql的連接配接使用者名與密碼,可根據實際情況更改。

這裡還需要把mysql的連接配接jar把放到classpath下,注意:linux上classpath 必須為大寫,我這裡直接把mysql-connector-java-5.1.26-bin.jar放到hive的lib檔案夾下,然後再在 .profile檔案中添加這麼一句:

ok,這兩步走完就完成配置任務了。

我在安裝mysql遇到這麼一個問題,我把日志貼出來:

大約就是這麼一個錯誤,這個問題讓我很糾結了,後來在stackoverflow上找到一個方法:

執行這三行指令後完美解決問題,但是原因我還沒找到,先留一下。

修改mysql的root密碼 :  <code>sudo mysqladmin -u root -p password '你的新密碼'</code>

<code></code>

參考文章:

mysql安裝:

<a target="_blank" href="http://wiki.ubuntu.org.cn/mysql%e5%ae%89%e8%a3%85%e6%8c%87%e5%8d%97">http://wiki.ubuntu.org.cn/mysql%e5%ae%89%e8%a3%85%e6%8c%87%e5%8d%97</a>

<a target="_blank" href="http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html">http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html</a>

<a target="_blank" href="http://stackoverflow.com/questions/9972611/not-able-to-install-mysql-on-ubuntu-11">http://stackoverflow.com/questions/9972611/not-able-to-install-mysql-on-ubuntu-11</a>

mysql啟動/停止:

<a target="_blank" href="http://blog.csdn.net/phpandjava/article/details/4636610">http://blog.csdn.net/phpandjava/article/details/4636610</a>

mysql中文亂碼:

這裡簡單明了地說下:

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

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

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

= utf8

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

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

default-character-set

如果在mysql5.5 版本中也這麼配置會導緻mysql服務起不來。

最後上圖,有圖有真相呀。

HIVE再次嘗試 用 Mysql 環境搭建 以及 mysql中文亂碼完美解決

圖1. 上圖是沒有修改前的mysql編碼情況

HIVE再次嘗試 用 Mysql 環境搭建 以及 mysql中文亂碼完美解決

圖2.上圖沒有修改後的mysql編碼情況

對于已經存在的資料庫,可以通過執行下面的指令更改字元集:

參考:

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