当我们再次切换到其它目录(比如说bin目录的上一级目录)启动hive后,如果我们想要执行相关sql操作,就必须重新执行元数据的初始化,否则就会出现“元数据实例化错误(unable to instantiate metadata)”。但是一旦重新初始化后,第一次初始化后的元数据库中的元数据信息,就会被覆盖掉,也就导致我们之前创建的库、表丢失了家庭地址,访问不到了,这就是上面我们使用"show databases"的时候,发现第一次创建的test库,根本没有。
<configuration>
<property>
<!--元数据库的连接地址:这里使用的是mysql数据库-->
<!--这里指定了mysql安装的节点,为什么写localhost,看下面-->
<!--这里还指定了元数据库名,为myhive-->
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/myhive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
<!--如果mysql和hive在同一个服务器节点,那么请更改bigdata112为localhost-->
</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>123456</value>
<description>password to use against metastore database</description>
</property>
</configuration>