在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數據庫。
參考博客:https://blog.csdn.net/shujuelin/article/details/81261291