在Hive中,Derby数据库只能起一个实例,不能在多个终端同时运行,这就产生了许多禁锢,因此对于元数据的存储,采用开源的mysql数据库,因此就需要在主节点上安装mysql相关服务。
0、首先,通过yum list | grep mysql命令来查找yum源中是否有MySQL,我的查询结果如下;
可以看出,总之看不到mysql-server的影子,具体彻底删除还可以参考这个博文:https://www.cnblogs.com/cyl048/p/6879085.html (据说centOS7的源中暂时没有mysql,但是相同版本的centOS在阿里云中可以直接使用yum install mysql-server来直接安装mysql的)
因此,可以通过找到mysql的安装源,如下:
1、先下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
2、安装源包,即安装mysql-community-release-el7-5.noarch.rpm包
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,就会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo和
/etc/yum.repos.d/mysql-community-source.repo。
在根目录下的/etc下即可找到
3、安装mysql
$ sudo yum install mysql-server
4、此时查看mysqld服务是否开启
$ sudo service mysqld status
可以看出,mysql服务已经启动
5、重新设置mysql密码
[root@master renyang]# mysqladmin -u root password '123456'
但是会报错:
此错误是密码有问题,无法登录,所以应该绕过密码验证,重新设置密码,所以在根目录的\etc\my.cnf文件中添加一行“skip-grant-tables”,就是绕过密码验证,如下:
然后重启mysql服务即可,执行[renyang@master ~]$ systemctl restart mysqld.service
6、输入“mysql”,即可进入mysql了,接下来可以在mysql中通过SQL语句进行修改密码,依次输入如下命令
mysql> use mysql
mysql> update mysql.user set authentication_string=password('123456') where user='root';
mysql> flush privileges;
mysql> quit
7、重新编辑my.cnf,去掉刚才添加的内容:skip-grant-tables。 然后重启MySQL:[renyang@master ~]$ systemctl restart mysqld.service
然后就可以用密码进入MySQL了:[renyang@master ~]$ mysql -uroot -p
这样就成功安装了mysql数据库。