1. 程式人生 > >centos7minimal安裝mysql(haoop叢集hive使用mysql儲存metastore)

centos7minimal安裝mysql(haoop叢集hive使用mysql儲存metastore)

文章目錄


如果不是centos7minimal版本,可以直接按如下步驟依次執行安裝命令即可

CentOS7預設資料庫是mariadb,配置等用著不習慣,因此決定改成mysql,但是CentOS7的yum源中預設好像是沒有mysql的。為了解決這個問題,我們要先下載mysql的repo源 (可以先不解除安裝MariaDB,安裝mysql後會自動覆蓋刪除MariaDB,文末提供解除安裝MariaDB步驟)

第一步下載mysql的repo源

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

:minimal版本如果報下面錯誤
在這裡插入圖片描述
解決辦法:安裝wget

yum install wget 

安裝後重新執行第一步的命令後如下
在這裡插入圖片描述

第二步安裝mysql-community-release-el7-5.noarch.rpm包(安裝需要root權許可權,加sudo,或者切換到root使用者,執行rpm -ivh mysql-community-release-el7-5.noarch.rpm 也可以
)

sudo rpm -ivh mysql57-community-release-el7-10.noarch.rpm

在這裡插入圖片描述

第三步安裝mysql服務

sudo yum -y install mysql-community-server

在這裡插入圖片描述

  • 開啟mysql服務(需要root許可權,可以先切換成root使用者,再執行命令,普通也可以直接執行命令,需要輸入密碼,使用普通使用者執行前提是該使用者配置過許可權)
systemctl start mysqld.service
  • 檢視mysql狀態
systemctl status mysqld.service

在這裡插入圖片描述

安裝後設置root密碼,參考:https://blog.csdn.net/hero272285642/article/details/79178437

1、檢視初始密碼(使用root使用者操作)

# grep "password" /var/log/mysqld.log

在這裡插入圖片描述


2、使用初始密碼登入

# mysql -uroot -p

在這裡插入圖片描述


3、修改密碼,mysql強制使用者必須修改密碼,不然只能登陸,卻不能操作資料庫(注意:在修改密碼時密碼複雜度不能太簡單,如:123456,但是我們自己開發時又不想設定的太複雜,所以在修改密碼之前先修改密碼複雜度,如若不想修改密碼複雜度,請直接執行ALTER語句)

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
 
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

4、修改預設字符集,mysql預設的database和server字符集為latin1,我們需要把它修改為utf8

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
 
mysql> set character_set_database=utf8;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
mysql> set character_set_server=utf8;
Query OK, 0 rows affected (0.00 sec)
 
mysql> 

5、授權root使用者可以從任意主機登入(注意將123456換成自己的密碼)

mysql> grant all privileges on *.* to [email protected]"%" identified by "123456" with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
mysql> 

:"%"表示匹配全部,可以換做主機名(ip也行),換做主機名的話,就是指定主機訪問本機的mysql

grant:授權
		all:所有許可權
		*.*:資料庫名稱.表名稱
		root:操作mysql的使用者
		@'':主機名
		密碼:123456

6、重新整理或者退出並重啟mysql

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

如果使用退出並重啟mysql如下(exit和quit都可以退出

mysql> quit
Bye
[[email protected] conf]# systemctl restart mysqld.service
[[email protected] conf]#

7、開放3306(mysql預設的埠)

[[email protected] conf]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[[email protected] conf]# firewall-cmd --reload
success
[[email protected] conf]#

執行完以上步驟還是不能遠端連線mysql的話,嘗試開放防火牆的3306埠或者關閉防火牆
8、可以刪除mysql57-community-release-el7-10.noarch.rpm,也可以不刪除,(如果找不到了,可以使用find等查詢命令)


解除安裝centos7自帶的MariaDB(最好使用root使用者操作,或者用具有root許可權的普通)

1、列出所有被安裝的rpm package

# rpm -qa | grep mariadb
mariadb-libs-5.5.50-1.el7_2.x86_64
mariadb-5.5.50-1.el7_2.x86_64
mariadb-server-5.5.50-1.el7_2.x86_64

2、強制解除安裝所有

# rpm -e --nodeps mariadb-libs-5.5.50-1.el7_2.x86_64
# rpm -e --nodeps mariadb-5.5.50-1.el7_2.x86_64
# rpm -e --nodeps mariadb-server-5.5.50-1.el7_2.x86_64

參考:https://blog.csdn.net/ixiaoyou/article/details/81215240