hive连接mysql配置

1、进入hive/conf目录下,修改hive-default.xml:  @baidu, I 修改的是 hive-site.xml
<property> 
  <name>hive.metastore.local</name> 
  <value>true</value> 
</property> 
<property> 
  <name>javax.jdo.option.ConnectionURL</name> 
  <value>jdbc:mysql://192.168.0.121:3307/hive?createDatabaseIfNotExist=true</value> 
</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> 
<property> 
  <name>hive.metastore.warehouse.dir</name> 
  <value>/home/hadoop/hive/warehouse</value> 
  <description>location of default database for the warehouse</description> 
</property> 


然后启动 bin/hive,执行show tables命令 这时报FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user 'root'@'fuyanqing.feinno.com' (using password: YES)。这是因为mysql不允许远程访问的问题,执行 grant all on *.*  to 'root'@'%' identified by 'root'; 
然后再执行show tables命令,这时报:FAILED: Error in metadata: javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes。 
这个问题是因为hive对mysql的UTF-8编码方式有限制,修改一下mysql的编码方式即可:alter database name character set latin1;
原文地址:https://www.cnblogs.com/robbychan/p/3786641.html