前言:推薦使用yum指令自動安裝JDK、Tomcat以及MariaDB數據庫(Mysql的分支),它可以讓你免受配置各種環境變量之苦,安裝完直接就可以用,無需配置。
開發環境:虛擬機 Centos7.7 mininal
安裝版本:JDK1.8+Mysql 5.7+Tomcat 8.5
一、傳統安裝方式,捨棄
下載上傳安裝包麻煩,有時還需要配置環境變量
以安裝JDK舉例,Tomcat和Mysql類似:
1、首先去對應軟件的官網下載安裝包的rpm或tar壓縮格式
jdk下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下載jdk-8u152-linux-x64.rpm 或 jdk-8u152-linux-x64.tar.gz(根據自己的系統位數選擇對應的包)
2、使用Xftp客戶端工具將下載好的jdk-8u152-linux-x64.rpm或tar.gz上傳到CentOs上去
用rpm命令安裝: rpm -ivh jdk-8u152-linux-x64.rpm,不需要配置環境變量
手動解壓JDK的壓縮包,然後設置環境變量:tar -zxvf jdk-8u152-linux-x64.tar.gz
二、Centos7下使用yum源安裝JDK
Centos7中安裝Java環境,在安裝前先查看有無安裝過Java環境。直接運行java 命令,會提示命令未找到,則是沒有安裝過java環境。
1.查看yum源的java包
yum list java*
2.安裝jdk1.8
yum -y install java-1.8.0-openjdk
安裝完成後會在最下面顯示完成
3.查看版本,檢測安裝是否成功
java -version
若出現上述提示表示JDK已經成功安裝啦!
三、Centos7下使用yum源安裝Mysql5.7
現在CentOS上默認是沒有Mysql的yum源,yum源默認的是 MariaDB。所以我們需要自己先配置Mysql yum源。
MariaDB閒談:
MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL授權許可。開發這個分支的原因是:自從Sun被Oracle收購以後,原來Sun旗下的MySQL的所有權也落入Oracle的手中。MySQL未來存在閉源的潛在風險,因此社區採用分支的方式來避開這個風險。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕鬆成爲MySQL的代替品。
過去一年中,大型互聯網用戶以及Linux發行商紛紛拋棄MySQL,轉投MariaDB陣營。MariaDB是MySQL的創始人Michael Widenius另起爐竈開發了完全兼容MySQL的數據庫系統。它是目前最受關注的MySQL數據庫衍生版,也被視爲開源數據庫MySQL的替代品。Centos7的發行版默認就包含了MariaDB。
1、更換yum源安裝Mysql5.7
a、下載並安裝MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
執行完成後會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo
b、查看有哪些版本的mysql
yum repolist all | grep mysql
c.yum安裝Mysql
我默認使用安裝mysql5.7
yum install -y mysql-community-server
至此MySQL就安裝完成了
2.啓動Mysql,驗證是否安裝成功
要知道在centos7中,沒有了service命令,都是使用systemctl命令。(centos6中,使用service mysqld start)
systemctl start mysqld
注意啓動的時候是start mysqld而不是mysql。systemctl status mysqld
查看Mysql運行狀態
如圖所示已經啓動Mysql了,接下來會進行Mysql相關配置。
3.MySQL數據庫的配置
3.1、登錄數據庫,修改數據庫密碼
mysql5.7的新特性之一就是在初始化的時候會生成一個自定義的隨機密碼,然後你需要找到這個臨時密碼,登錄的時候輸入。注意,輸入密碼的時候是不顯示。
a、啓動Mysql
systemctl start mysqld
b、找到密碼: 紅框的地方就是密碼
grep 'temporary password' /var/log/mysqld.log
c、找到了密碼之後,輸入以下指令進入數據庫
mysql -u root -p
此時不能做任何事情,因爲MySQL默認必須修改密碼之後才能操作數據庫。
d、修改密碼
#
這裏的'new password'即爲你自己要更改的密碼。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
這裏有個問題,新密碼設置的時候如果設置的過於簡單會報錯。 原因是因爲MySQL有密碼設置的規範,具體是與validate_password_policy的值有關。
此時,通過進行這兩個操作即可.(設置密碼的驗證強度等級爲弱)
set global validate_password_policy=0;
set global validate_password_length=1;
然後在進行密碼的設置,就成功了.
上面提到Mysql密碼設置規範的validate_password_policy,詳細請參考:安裝MySQL報錯 : Your password does not satisfy the current policy requirements
3.2、設置Mysql支持遠程連接
Mysql爲了安全性,在默認情況下用戶只允許在本地登錄,可是在有此情況下,還是需要使用用戶進行遠程連接。比如我的VMware的CentOS7中安裝的MySQL需要支持遠程連接方便數據庫備份,現在這樣是無法在本地用工具比如Navicat for Mysql登錄訪問的。
MySQL默認是沒有開啓遠程控制的,必須添加遠程訪問的用戶,即默認是隻能自己訪問,別的機器是訪問不了的。現在要做兩件事,第一件事是將雲服務器上的3306端口開放;另一件事是配置Mysql遠程可以訪問。
①先設置剛纔的密碼可以遠程登錄,然後使用flush命令使配置立即生效。
#
允許root用戶在任何地方進行遠程登錄,並具有所有庫任何操作權限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Admin123!' WITH GRANT OPTION;
#
重載授權表flush privileges;
②雲服務器開放3306端口
Mysql默認監聽端口就是3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
注意:如果還不行可以嘗試重啓一下數據庫
這時,在本地電腦的navicat 上的連接遠程的MySQL,顯示連接成功:
參考鏈接:Centos7下無法遠程連接mysql數據庫的原因與解決
3.3.Mysql其他簡單配置
Mysql的配置文件真的很多,有的還很蛋疼。比如默認的字符集是拉丁字符集,每次創建數據庫的時候要設置字符集;默認還不支持group by語句,默認的時區也不是我們現在的北京時間(東八區),會導致我們的時間差了13個點。針對以上說幾個簡要的配置,更多的配置在以後遇到了再加上。
先輸入exit退出數據庫客戶端。
打開配置文件,yum安裝的默認在/etc文件夾下:
vim /etc/my.cnf
在[mysqld]下面添加,不需要分號
字符集:注意是utf8而不是utf-8!
character-set-server=utf8
這時候使用show variables like 'char%';就可以查看到字符集都是utf8了
sql支持group by語句
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
設置時區爲東八區
default-time_zone = '+8:00'
a、設置安全選項:
mysql_secure_installation
b、關閉MySQLsystemctl stop mysqld
c、重啓MySQLsystemctl restart mysqld
d、查看MySQL運行狀態systemctl status mysqld
e、設置開機啓動systemctl enable mysqld
f、關閉開機啓動systemctl disable mysqld
g、配置默認編碼爲utf8:vi /etc/my.cnf #添加 [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
其他默認配置文件路徑:
配置文件:/etc/my.cnf 日誌文件:/var/log//var/log/mysqld.log 服務啓動腳本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid
h、查看版本select version();
最後重啓數據庫,使配置生效:
systemctl restart mysqld
四、Tomcat8的安裝
1.首先需要下載tomcat8.5的安裝文件,下載後綴爲tar.gz的版本
Tomcat下載地址:https://tomcat.apache.org/download-80.cgi
2、然後需要將下載的壓縮文件上傳至服務器,可以用rz命令來上傳(輸入後選擇本地文件上傳).若輸入後顯示
則需要先在遠程CentOS服務器中,yum -y install lrzsz
,安裝後使用.
選擇剛剛下載的安裝包上傳
3、接着對上傳的壓縮包進行解壓
tar -zxvf apache-tomcat-8.5.45.tar.gz
4、Tomcat解壓完就可以運行
解壓完成後,進入剛剛解壓的文件夾,可打開Tomcat。
cd apache-tomcat-8.5.45/bin
./startup.sh
5、瀏覽器打開:http://192.168.0.8:8080 出現以下界面說明成功
萬一不能訪問到如下界面,請參考鏈接:Centos7 可以啓動tomcat但無法訪問的問題
注意補充:上面的Tomcat8.5採用的是XShell本地上傳安裝包到遠程CentOS解壓運行,其實可以用更簡單的方法,往下看
1、先到tomcat官網https://tomcat.apache.org/查看下載路徑
我下載的tomcat-8.5.37 如: http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
2、安裝wget,並讓wget下載Tomcat安裝包,後面步驟同上解壓運行Tomcat即可
yum install -y wget
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
參考鏈接: