阿里云CentOs7安裝jdk+tomcat+mysql8.0(詳解各種可能出現的問題)

一、安裝JDK


1.卸載預裝的openJDK

有些云服務器預裝了JDK,查看是否預裝命令:
rpm -qa|grep jdk
若存在,卸載。命令:
yum -y remove java java-1.8.0-openjdk
查看卸載情況:
java -version

2.安裝JDK

阿里云的yum源默認是openJDK,所以需要我們自己去oracle官網找到url地址,用wget命令下載。如果直接使用wget命令的話,雖然成功了,但是應該是安裝不了的,這是由于oracle在下載jdk的時候需要用戶勾選接受它的協議。所以推薦選擇本地下載然后上傳到服務器中。

  1. 從官網下載 目前版本已經出到了jdk10,用的最廣泛的是jdk1.8,選擇.rmp文件下載。出于好奇的心理,我選擇了jdk10。

  2. 上傳到服務器

    • 進入/usr目錄下新建文件 mkdir java
    • 使用rz命令上傳,會彈出文件選擇框,選擇上傳的jdk 。若使用rz命令不可用,使用yum install lrzsz安裝rz sz命令,等待上傳完畢。
  3. 安裝

  • 進入你的安裝包目錄,使用命令yum install jdk-10.0.2_linux-x64_bin.rpm安裝,完成后若此時使用java -version出現以下錯誤,執行sudo yum install glibc.i686 這個命令即可解決此問題。
jdk-bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 
  • 若此時執行java -version命令若報錯,是因為Linux也需配置環境變量。執行vim/etc/profile,打開環境變量配置文件,在文件底部輸入以下信息,并保存。
# java
JAVA_HOME=/usr/java/jdk-10.0.2
JRE_HOME=$JAVA_HOME/jre
PATH=PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export JRE_HOME
export PATH
export CLASSPATH

執行java -version命令,出現

java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

安裝成功

二、安裝tomcat


步驟和安裝JDK一樣

  1. 下載Tomcat到本地,我仍然選擇了最新版本Tomcat9.0.11。然后上傳至usr/tomcat,在該目錄下解壓tar -zxf apache-tomcat-9.0.11.tar.gz
  2. 執行./apache-tomcat-9.0.11/bin/startup.sh命令,若如下,安裝成功
Using CATALINA_BASE:   /usr/tomcat9/apache-tomcat-9.0.11
Using CATALINA_HOME:   /usr/tomcat9/apache-tomcat-9.0.11
Using CATALINA_TMPDIR: /usr/tomcat9/apache-tomcat-9.0.11/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/tomcat9/apache-tomcat-9.0.11/bin/bootstrap.jar:/usr/tomcat9/apache-tomcat-9.0.11/bin/tomcat-juli.jar
Tomcat started.
  1. 啟動tomcat后,我們還需測試是否能從外網訪問,在本地瀏覽器中輸入公網ip:8080,如果訪問失敗,是因為阿里云需要配置安全組開放8080端口。解決方案為:去云服務器管理控制臺添加安全組規則,詳情參考阿里云安全組規則配置及Tomcat外網訪問。配置完畢后即可從本地訪問服務器tomcat

三、安裝mysql


網上大多數教程都是安裝mysql5.6和5.7,但是mysql8.0已經問世,并且在性能上有著很大提升,詳情見關于MySQL 8.0的幾個重點,都在這里,所以選擇安裝mysql8.0。

  1. 檢查是否已安裝過mysql其它版本 。命令:rpm -qa | grep mysql。有則刪掉,例如:命令yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
  2. 檢查centos是否自帶mariadb,有則刪掉,命令同上類似。
  3. 因為centos的yum 源中默認是沒有mysql的,所以使用wget命令下載rpm包,命令:
wget https://dev.mysql.com/get/mysql-community-server-8.0.12-1.el7.x86_64.rpm

4.進入rpm包目錄,使用命令yum install mysql-community-server-8.0.12-1.el7.x86_64.rpm,然后你會發現安裝出錯,顯示缺少common和client包,這是因為mysql5.7版本以前只安裝mysql-server和mysql-client兩個rpm包即可。從mysql5.7版本之后mysql-community-client依賴于mysql-community-libsmysql-community-server依賴于mysql-community-common共計需要安裝4個rpm包。所以使用wget命令依次下載這三個rpm包到目錄。具體為

mysql-community-client-8.0.12-1.el7.x86_64.rpm  mysql-community-libs-8.0.12-1.el7.x86_64.rpm
mysql-community-common-8.0.12-1.el7.x86_64.rpm  
  1. 按照lib-client -common-server的順序依次安裝。如果安裝client包過程中出現mariadb存在而導出出錯,使用命令rpm -pa | grep mariadb命令,可能出現以下類似的信息
mariadb-libs-5.5.56-2.el7.x86_64

使用rpm -e mariadb-libs-5.5.56-2.el7.x86_64刪掉,重新安裝client包。

  1. 安裝成功后,我們需要修改mysql初始密碼。首先執行命令systemctl start mysqld.service開啟mysql服務。隨后我們執行命令grep 'temporary password' /var/log/mysqld.log 查看初始密碼。然后登陸mysql 命令mysql -u root -p,登陸后執行修改密碼的命令
alter user 'root'@'localhost' identified by '123456'

會出現以下報錯

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

這是因為mysql對密碼等級和規則有限制,解決辦法有兩個,第一修改密碼比如Admin_001.,第二調整MySQL密碼驗證規則,修改 policy 和 length 的值。經過查資料,網上大部分的方法如下

mysql>  set global validate_password_policy=0;
mysql>  set global validate_password_length=1;

在mysql5.7中好使,mysql8.0中卻行不通,在mysql8.0中validate_password_policyvalidate_password_length 變量不存在。取而替代的validate_password.policyvalidate_password.length。詳情和解決方法見博文:解決MySQL8.0報錯:Unknown system variable 'validate_password_policy'。了解原由后執行命令

mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;

再重新設置密碼

  1. 重置密碼后,我們需要從遠程登錄mysql,首先在阿里云控制臺添加安全組,開放3306端口,詳情見tomcat配置。然后連接,會出現類似以下的錯誤
ERROR 1103: Host *.*.*.* is not allowed to connect to

這是由于mysql服務端root用戶所對應的客戶端權限設置問題。默認所對應的客戶端地址只有localhost(也就是服務端的機器),所以要增加相應的地址。此處,我們增加任何地址都可以訪問mysql服務端的root用戶。具體sql語句為:

mysql -u root –p  
mysql>use mysql;  
mysql>update user set host = '%' where user = 'root';  

修改完畢后再嘗試登陸,可能會出現以下錯誤:

錯誤碼:1251 - Client does not support authentication protocol requested by server...

原因是mysql8 之前的版本中加密規則是mysql_native_password,而在mysql8之后,加密規則是caching_sha2_password,解決問題方法有兩種,一種是升級navicat驅動,一種是把mysql用戶登錄密碼加密規則還原成mysql_native_password。詳情見博文
Navicat連接Mysql8.0.11出現1251錯誤

四、總結


過程并不順利,特別是mysql8.0,8.0和之前的版本還是有較大的改動的,不過通過一次次的查找資料總算成功的配置成功。且行且珍惜

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370

推薦閱讀更多精彩內容