安装mysql之前要删掉derby的数据
删除生成的目录 /user[这里]
检测当前是否安装过MySQL
rpm -qa|grep mariadb
mariadb是MySQL自带的小型数据库 需要卸载
sudo rpm -e --nodeps mariadb-libs //用此命令卸载mariadb
将mysql安装包拷贝到安装包的目录下 因为包中存在很多依赖关系
建立安装目录 并解压 到目录
mkdir mysql-lib
tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C mysql-lib
按照以下顺序进行依赖安装
sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
// -ivh 参数说明
// -i 进行安装 -v 显示详细信息 -h 显示进度条
在安装第一步和第五步 会出现问题 分别是 mariadb 冲突 和 缺少依赖包
将所有的包都下载好之后 需要初始化数据库
sudo mysqld --initialize --user=mysql #初始化数据库
sudo systemctl start mysqld #启动mysql服务
sudo systemctl status mysqld
sudo cat /var/log/mysqld.log #查看临时生成root的初始密码
mysql -uroot -p #用临时密码登入
mysql> set password = password("123456"); #设置mysql密码
uodate mysql.user set host = '%' where user = 'root';
#将MySQL库下user表中的root用户设置为任意ip连接
之后将hive的元数据copy到mysql
1.拷贝连接mysql的驱动
cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib
2.对hive下的配置文件进行配置
vim $HIVE_HOME/conf/hive-site.xml
# 添加如下内容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- jdbc连接的URL -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>
</property>
<!-- jdbc连接的Driver-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- jdbc连接的username-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- jdbc连接的password -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<!-- Hive默认在HDFS的工作目录 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
</configuration>
3.登入MySQL 新建hive元数据
mysql> create database metastore;
mysql> quit;
4.初始化hive原始数据
schematool -initSchema -dbType mysql -verbose