一郁稍、安裝JDK
1.卸載預(yù)裝的openJDK
有些云服務(wù)器預(yù)裝了JDK碑韵,查看是否預(yù)裝命令:
rpm -qa|grep jdk
若存在辐怕,卸載智绸。命令:
yum -y remove java java-1.8.0-openjdk
查看卸載情況:
java -version
2.安裝JDK
阿里云的yum源默認(rèn)是openJDK,所以需要我們自己去oracle官網(wǎng)找到url地址窝稿,用wget命令下載楣富。如果直接使用wget命令的話,雖然成功了伴榔,但是應(yīng)該是安裝不了的纹蝴,這是由于oracle在下載jdk的時(shí)候需要用戶勾選接受它的協(xié)議。所以推薦選擇本地下載然后上傳到服務(wù)器中踪少。
從官網(wǎng)下載 目前版本已經(jīng)出到了jdk10塘安,用的最廣泛的是jdk1.8,選擇
.rmp
文件下載援奢。出于好奇的心理兼犯,我選擇了jdk10。-
上傳到服務(wù)器
- 進(jìn)入
/usr
目錄下新建文件mkdir java
- 使用
rz
命令上傳,會(huì)彈出文件選擇框免都,選擇上傳的jdk 锉罐。若使用rz
命令不可用,使用yum install lrzsz
安裝rz sz
命令绕娘,等待上傳完畢脓规。
- 進(jìn)入
安裝
- 進(jìn)入你的安裝包目錄,使用命令
yum install jdk-10.0.2_linux-x64_bin.rpm
安裝险领,完成后若此時(shí)使用java -version
出現(xiàn)以下錯(cuò)誤侨舆,執(zhí)行sudo yum install glibc.i686
這個(gè)命令即可解決此問題。
jdk-bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
- 若此時(shí)執(zhí)行
java -version
命令若報(bào)錯(cuò)绢陌,是因?yàn)長(zhǎng)inux也需配置環(huán)境變量挨下。執(zhí)行vim/etc/profile
,打開環(huán)境變量配置文件,在文件底部輸入以下信息,并保存脐湾。
# 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
執(zhí)行java -version
命令臭笆,出現(xiàn)
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一樣
- 下載Tomcat到本地秤掌,我仍然選擇了最新版本Tomcat9.0.11愁铺。然后上傳至
usr/tomcat
,在該目錄下解壓tar -zxf apache-tomcat-9.0.11.tar.gz
。 - 執(zhí)行
./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.
- 啟動(dòng)tomcat后,我們還需測(cè)試是否能從外網(wǎng)訪問孟岛,在本地瀏覽器中輸入
公網(wǎng)ip:8080
瓶竭,如果訪問失敗,是因?yàn)榘⒗镌菩枰渲冒踩M開放8080端口渠羞。解決方案為:去云服務(wù)器管理控制臺(tái)添加安全組規(guī)則斤贰,詳情參考阿里云安全組規(guī)則配置及Tomcat外網(wǎng)訪問。配置完畢后即可從本地訪問服務(wù)器tomcat
三堵未、安裝mysql
網(wǎng)上大多數(shù)教程都是安裝mysql5.6和5.7腋舌,但是mysql8.0已經(jīng)問世,并且在性能上有著很大提升渗蟹,詳情見關(guān)于MySQL 8.0的幾個(gè)重點(diǎn),都在這里赞辩,所以選擇安裝mysql8.0雌芽。
- 檢查是否已安裝過(guò)mysql其它版本 。命令:
rpm -qa | grep mysql
辨嗽。有則刪掉世落,例如:命令yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
。 - 檢查centos是否自帶mariadb糟需,有則刪掉屉佳,命令同上類似谷朝。
- 因?yàn)閏entos的yum 源中默認(rèn)是沒有mysql的,所以使用wget命令下載rpm包武花,命令:
wget https://dev.mysql.com/get/mysql-community-server-8.0.12-1.el7.x86_64.rpm
4.進(jìn)入rpm包目錄圆凰,使用命令yum install mysql-community-server-8.0.12-1.el7.x86_64.rpm
,然后你會(huì)發(fā)現(xiàn)安裝出錯(cuò),顯示缺少common和client包体箕,這是因?yàn)閙ysql5.7版本以前只安裝mysql-server和mysql-client兩個(gè)rpm包即可专钉。從mysql5.7版本之后mysql-community-client
依賴于mysql-community-libs
,mysql-community-server
依賴于mysql-community-common
共計(jì)需要安裝4個(gè)rpm包累铅。所以使用wget
命令依次下載這三個(gè)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
- 按照lib-client -common-server的順序依次安裝。如果安裝client包過(guò)程中出現(xiàn)mariadb存在而導(dǎo)出出錯(cuò)娃兽,使用命令
rpm -pa | grep mariadb
命令菇民,可能出現(xiàn)以下類似的信息
mariadb-libs-5.5.56-2.el7.x86_64
使用rpm -e mariadb-libs-5.5.56-2.el7.x86_64
刪掉,重新安裝client包投储。
- 安裝成功后玉雾,我們需要修改mysql初始密碼。首先執(zhí)行命令
systemctl start mysqld.service
開啟mysql服務(wù)轻要。隨后我們執(zhí)行命令grep 'temporary password' /var/log/mysqld.log
查看初始密碼复旬。然后登陸mysql 命令mysql -u root -p
,登陸后執(zhí)行修改密碼的命令
alter user 'root'@'localhost' identified by '123456'
會(huì)出現(xiàn)以下報(bào)錯(cuò)
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
這是因?yàn)閙ysql對(duì)密碼等級(jí)和規(guī)則有限制冲泥,解決辦法有兩個(gè)驹碍,第一修改密碼比如Admin_001.
,第二調(diào)整MySQL密碼驗(yàn)證規(guī)則凡恍,修改 policy 和 length 的值志秃。經(jīng)過(guò)查資料,網(wǎng)上大部分的方法如下
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
在mysql5.7中好使嚼酝,mysql8.0中卻行不通浮还,在mysql8.0中validate_password_policy
和validate_password_length
變量不存在。取而替代的validate_password.policy
和validate_password.length
闽巩。詳情和解決方法見博文:解決MySQL8.0報(bào)錯(cuò):Unknown system variable 'validate_password_policy'钧舌。了解原由后執(zhí)行命令
mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
再重新設(shè)置密碼
- 重置密碼后,我們需要從遠(yuǎn)程登錄mysql涎跨,首先在阿里云控制臺(tái)添加安全組洼冻,開放3306端口,詳情見tomcat配置隅很。然后連接撞牢,會(huì)出現(xiàn)類似以下的錯(cuò)誤
ERROR 1103: Host *.*.*.* is not allowed to connect to
這是由于mysql服務(wù)端root用戶所對(duì)應(yīng)的客戶端權(quán)限設(shè)置問題。默認(rèn)所對(duì)應(yīng)的客戶端地址只有l(wèi)ocalhost(也就是服務(wù)端的機(jī)器),所以要增加相應(yīng)的地址屋彪。此處所宰,我們?cè)黾尤魏蔚刂范伎梢栽L問mysql服務(wù)端的root用戶。具體sql語(yǔ)句為:
mysql -u root –p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
修改完畢后再嘗試登陸畜挥,可能會(huì)出現(xiàn)以下錯(cuò)誤:
錯(cuò)誤碼:1251 - Client does not support authentication protocol requested by server...
原因是mysql8 之前的版本中加密規(guī)則是mysql_native_password,而在mysql8之后,加密規(guī)則是caching_sha2_password仔粥,解決問題方法有兩種撩炊,一種是升級(jí)navicat驅(qū)動(dòng)谋旦,一種是把mysql用戶登錄密碼加密規(guī)則還原成mysql_native_password。詳情見博文
Navicat連接Mysql8.0.11出現(xiàn)1251錯(cuò)誤
四愕撰、總結(jié)
過(guò)程并不順利矮湘,特別是mysql8.0斟冕,8.0和之前的版本還是有較大的改動(dòng)的,不過(guò)通過(guò)一次次的查找資料總算成功的配置成功缅阳。且行且珍惜