【解決】Hive 使用 mysql 做爲 metastore 元數據庫時UTF-8編碼的問題

1. 在最最初配置 MySQL 數據庫的時候,就設置成 UTF-8 的編碼mysql

sudo vim /etc/my.cnf

2. 而後在 metastore 庫生成後,若是直接用 hive 建立庫或表就會報錯,Specified key was too long; max key length is 767 bytes,是由於此時的 metastore 庫的編碼是UTF-8,這時咱們把 metastore 的編碼修改成 latin1,而後重啓 MySQL 數據庫,就OK了,使用 hive 建立表 或 庫 的相關中文註釋也能夠正常顯示了,不影響其餘庫,其餘表的中文註釋。sql

# 修改數據庫 metastore 的編碼爲 latin1
alter database metastore character set latin1;
# 重啓 mysql 數據庫
sudo service mysqld restart
相關文章
相關標籤/搜索