前提條件已經在虛擬機上安裝好linux系統了。
第一步:下載需要的軟件,建議自己去官網下載,以下為本人已經下載好的放在網盤的。
jdk:
tomcat:
mysql:
第二步:將jdk、tomcat、mysql上傳到linux中。
1、可以通過rz命令直接選擇上傳
[root@localhost myfile]$rz
2、通過sftp上傳文件如下圖和代碼
sftp> cd /opt/myfile/ sftp> ls jdk-8u271-linux-aarch64.tar.gz sftp> put E:\linux\tomcat\apache-tomcat-8.5.61.tar.gz Uploading apache-tomcat-8.5.61.tar.gz to /opt/myfile/apache-tomcat-8.5.61.tar.gz 100% 10246KB 10246KB/s 00:00:01 E:/linux/tomcat/apache-tomcat-8.5.61.tar.gz: 10492067 bytes transferred in 1 seconds (10246 KB/s)
3、通過scp命令將文件上傳,我用的是cmder,通過scp 文件路徑 用戶名@ip:/路徑 將本地E:\linux\mysql\mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz 上傳到192.168.199.214的/opt/myfile/路徑中,需要輸入yes確認以及輸入admin對應的命令。
E:\linux\mysql λ scp mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz admin@192.168.199.214:/opt/myfile The authenticity of host '192.168.199.214 (192.168.199.214)' can't be established. ECDSA key fingerprint is SHA256:drQxf1K1d6NNTnDDA0PiOUHwBNmIThzDyloHrFfmWx4. Are you sure you want to continue connecting (yes/no)? Warning: Permanently added '192.168.199.214' (ECDSA) to the list of known hosts. admin@192.168.199.214's password: mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz 100% 190MB 94.8MB/s 00:02 E:\linux\mysql
從linux中想window中獲取文件時,只需要將linux系統的路徑寫在前邊即可,如下代碼
scp admin@192.168.199.214:/opt/myfile/1.txt E:\linux\mysql\
4、通過掛載U盤的方式將文件上傳。或者xftp等各種文件,就不再一一列舉。
第二步:開始安裝jdk,一般linux都會自帶,但是網上百度說不建議使用,據說是少東西。
1、通過命令確定是否存在自帶的jdk,
[root@localhost myfile]$java -version openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)
2、通過命令:yum remove *openjdk* 進行卸載,最后再次通過java -version 進行確認
[root@localhost myfile]$yum remove *openjdk* 已加載插件:langpacks, product-id, search-disabled-repos, subscription-manager This system is not registered with an entitlement server. You can use subscription-manager to register. 正在解決依賴關系 --> 正在檢查事務 ---> 軟件包 java-1.8.0-openjdk.x86_64.1.1.8.0.161-2.b14.el7 將被 刪除 --> 正在處理依賴關系 java >= 1.5,它被軟件包 jline-1.0-8.el7.noarch 需要 --> 正在處理依賴關系 java-1.8.0-openjdk,它被軟件包 icedtea-web-1.7.1-1.el7.x86_64 需要 ---> 軟件包 java-1.8.0-openjdk-headless.x86_64.1.1.8.0.161-2.b14.el7 將被 刪除 --> 正在檢查事務 ---> 軟件包 icedtea-web.x86_64.0.1.7.1-1.el7 將被 刪除 ---> 軟件包 jline.noarch.0.1.0-8.el7 將被 刪除 --> 正在處理依賴關系 jline,它被軟件包 rhino-1.7R5-1.el7.noarch 需要 --> 正在檢查事務 ---> 軟件包 rhino.noarch.0.1.7R5-1.el7 將被 刪除 --> 解決依賴關系完成 依賴關系解決 ================================================================================ Package 架構 版本 源 大小 ================================================================================ 正在刪除: java-1.8.0-openjdk x86_64 1:1.8.0.161-2.b14.el7 @anaconda/7.5 501 k java-1.8.0-openjdk-headless x86_64 1:1.8.0.161-2.b14.el7 @anaconda/7.5 103 M 為依賴而移除: icedtea-web x86_64 1.7.1-1.el7 @anaconda/7.5 2.3 M jline noarch 1.0-8.el7 @anaconda/7.5 72 k rhino noarch 1.7R5-1.el7 @anaconda/7.5 1.1 M 事務概要 ================================================================================ 移除 2 軟件包 (+3 依賴軟件包) 安裝大小:107 M 是否繼續?[y/N]:y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 正在刪除 : icedtea-web-1.7.1-1.el7.x86_64 1/5 正在刪除 : rhino-1.7R5-1.el7.noarch 2/5 正在刪除 : jline-1.0-8.el7.noarch 3/5 正在刪除 : 1:java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 4/5 正在刪除 : 1:java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64 5/5 驗證中 : 1:java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64 1/5 驗證中 : 1:java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64 2/5 驗證中 : rhino-1.7R5-1.el7.noarch 3/5 驗證中 : icedtea-web-1.7.1-1.el7.x86_64 4/5 驗證中 : jline-1.0-8.el7.noarch 5/5 刪除: java-1.8.0-openjdk.x86_64 1:1.8.0.161-2.b14.el7 java-1.8.0-openjdk-headless.x86_64 1:1.8.0.161-2.b14.el7 作為依賴被刪除: icedtea-web.x86_64 0:1.7.1-1.el7 jline.noarch 0:1.0-8.el7 rhino.noarch 0:1.7R5-1.el7 完畢! [root@localhost myfile]$java -version bash: /usr/bin/java: 沒有那個文件或目錄
3、開始安裝自己上傳的jdk
創建安裝目錄,將jdk壓縮包復制過去,解壓
[root@localhost myfile]$mkdir /usr/java [root@localhost myfile]$cp jdk-8u271-linux-aarch64.tar.gz /usr/java/ [root@localhost myfile]$cd /usr/java/ [root@localhost java]$ls jdk-8u271-linux-aarch64.tar.gz [root@localhost java]$tar -xvf jdk-8u271-linux-aarch64.tar.gz
通過命令:vim /etc/profile 配置環境變量,在最后面添加標紅加粗的代碼
[root@localhost java]$vim /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`/usr/bin/id -u`
UID=`/usr/bin/id -ru`
fi
USER="`/usr/bin/id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
fi
HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
unset i
unset -f pathmunge
export JAVA_HOME=/usr/java/jdk1.8.0_271
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib
export JAVA_HOME PATH CLASSPATH
最后記得通過命令:source /etc/profile 使設置生效,生效后,通過java -version 確認是否成功安裝。
[root@localhost java]$source /etc/profile [root@localhost java]$java -version bash: /usr/java/jdk1.8.0_271/bin/java: 無法執行二進制文件
報錯:無法執行二進制文件,是由於jdk為32位的但是linux是64位的所以需要去官網重新下載64位的.
最終結果如下就代表安裝好了
[root@localhost java]$java -version java version "1.8.0_271" Java(TM) SE Runtime Environment (build 1.8.0_271-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
第三步:安裝tomcat
1、創建一個tomcat文件夾,解壓,配置環境變量,注意標紅的位置。還是需要通過命令:source /etc/profile 是修改后的文件生效
[root@localhost tomcat]$mkdir /usr/tomcat [root@localhost tomcat]$cp /opt/myfile/apache-tomcat-8.5.61.tar.gz /usr/tomcat/
[root@localhost tomcat]$tar -xvf apache-tomcat-8.5.61.tar.gz
[root@localhost tomcat]$vi /etc/profile # /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_271 export CATALINA_HOME=/usr/tomcat/apache-tomcat-8.5.61 export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib export JAVA_HOME PATH CLASSPATH CATALINA_HOME
[root@localhost tomcat]$source /etc/profile
2、完成操作后就可以查看tomcat版本,並且啟動,測試連接
[root@localhost apache-tomcat-8.5.61]$cd /usr/tomcat/apache-tomcat-8.5.61/bin/ [root@localhost bin]$./version.sh Using CATALINA_BASE: /usr/tomcat/apache-tomcat-8.5.61 Using CATALINA_HOME: /usr/tomcat/apache-tomcat-8.5.61 Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.61/temp Using JRE_HOME: /usr/java/jdk1.8.0_271 Using CLASSPATH: /usr/tomcat/apache-tomcat-8.5.61/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.61/bin/tomcat-juli.jar Using CATALINA_OPTS: Server version: Apache Tomcat/8.5.61 Server built: Dec 3 2020 14:03:28 UTC Server number: 8.5.61.0 OS Name: Linux OS Version: 3.10.0-862.el7.x86_64 Architecture: amd64 JVM Version: 1.8.0_271-b09 JVM Vendor: Oracle Corporation [root@localhost bin]$./shutdown.sh Using CATALINA_BASE: /usr/tomcat/apache-tomcat-8.5.61 Using CATALINA_HOME: /usr/tomcat/apache-tomcat-8.5.61 Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.61/temp Using JRE_HOME: /usr/java/jdk1.8.0_271 Using CLASSPATH: /usr/tomcat/apache-tomcat-8.5.61/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.61/bin/tomcat-juli.jar Using CATALINA_OPTS: [root@localhost bin]$./startup.sh Using CATALINA_BASE: /usr/tomcat/apache-tomcat-8.5.61 Using CATALINA_HOME: /usr/tomcat/apache-tomcat-8.5.61 Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.61/temp Using JRE_HOME: /usr/java/jdk1.8.0_271 Using CLASSPATH: /usr/tomcat/apache-tomcat-8.5.61/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.61/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started. [root@localhost bin]$
第四步:安裝mysql,參考鏈接:https://www.cnblogs.com/wendy-0901/p/12673705.html
檢測系統是否自帶Mysql
# rmp -qa|grep mysql
如果有進行強行卸載
# rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64
檢測系統是否自帶mariadb
# rpm -qa|grep mariadb
# rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
# rpm -e --nodeps mariadb-5.5.64-1.el7.x86_64
# rpm -e --nodeps mariadb-server-5.5.64-1.el7.x86_64
用連接工具將下載的mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz上傳到linux服務器/data/software/的目錄下面
三、安裝
進入/data/software/目錄下解壓
# tar -zxvf mysql-5.7.28.tar.gz
解壓完成后重命名
# mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql-5.7.28
# mv mysql-5.7.28 /usr/local/
檢查mysql組和用戶是否存在,如果沒有則創建
cat /etc/group|grep mysql
groupadd mysql
useradd -r -g mysql mysql #useradd -r參數表示mysql用戶是系統用戶,不可用於登錄系統
安裝數據庫
創建data目錄
cd
/usr/local/mysql-5.7.28
mkdir data
將/usr/local/mysql-5.7.28的所有者及所屬組改為mysql
# chown -R mysql.mysql /usr/local/mysql-5.7.28
在/usr/local/mysql-5.7.28/support-files目錄下創建my_default.cnf
# vim my_default.cnf
[mysqld]
#設置mysql的安裝目錄
basedir =/usr/local/mysql-5.7.28
#設置mysql數據庫的數據存放目錄
datadir = /usr/local/mysql-5.7.28/data
#設置端口
port = 3306
socket = /tmp/mysql.sock
#設置字符集
character-set-server=utf8
#日志存放目錄
log-error = /usr/local/mysql-5.7.28/data/mysqld.log
pid-file = /usr/local/mysql-5.7.28/data/mysqld.pid
#允許時間類型的數據為零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
拷貝,是否覆蓋,是
# cp my_default.cnf /etc/my.cnf
初始化Mysql
# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.28/ --datadir=/usr/local/mysql-5.7.28/data/
如果報錯:./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or 就安裝libaio,如果沒有則跳過
yum install libaio
初始化完成之后查看日志
cat /usr/local/mysql-5.7.28/data/mysqld.log,藍框里的是臨時密碼
把啟動腳本放到開機初始化目錄
cp support-files/mysql.server /etc/init.d/mysql
啟動mysql
service mysql start
進入mysql並更改密碼
cd /usr/local/mysql-5.7.28
./bin/mysql -u root -p
mysql> set password=password('123456');
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
添加遠程訪問權限
mysql> use mysql;
mysql> update user set host='%' where user = 'root';
mysql> flush privileges;
如果更改時報錯:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY',就先查詢一下是否已更改,最后執行刷新。
重啟mysql生效
service mysql restart
注:如果報以下錯誤
解決方法:修改MySQL的配置文件,
1、windows下找到MySQL的安裝目錄的my.ini文件,修改其中的配置為不啟動ONLY_FULL_GROUP_BY模式
刪掉帶有ONLY_FULL_GROUP_BY的模式就ok了,如果沒有找到my.ini文件。
去系統的隱藏文件夾查看,在某個盤下輸入%ProgramData%然后搜索MySQL的my.ini文件
2、linux下找到my.cnf文件,這個是配置MySQL的文件。一般這個文件是在etc文件夾下。
vi my.cnf 編輯這個文件,然后在圖示的位置上加入sql_mode =
"STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FO
R_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
然后重啟MySQL服務:service mysql restart
雜記:
[root@localhost opt]# cd myfile/ [root@localhost myfile]# ls
注意標紅的地方,這是文件路徑,但是只顯示現在所在文件夾的名字,無法顯示完全的路徑,可以通過root用戶進行設置。具體方法如下標紅處。
[root@localhost opt]$vi ~/.bashrc
然后再該文件中最下邊一行添加如下代碼即可。
export PS1='[\u@\h \W]$'
最后通過source命令將其生效。
source ~/.bashrc
具體符號含義如下
PS1:提示符的設置 PS1(是數字1而不是字母l),每個版本bash的PS1變量內的特殊符號可能有些小的差異,你可以先man bash 一下。下面是FC4環境下默認的特殊符號所代表的意義: \d :代表日期,格式為weekday month date,例如:"Mon Aug 1" \H :完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux \h :僅取主機的第一個名字,如上例,則為fc4,.linux則被省略 \t :顯示時間為24小時格式,如:HH:MM:SS \T :顯示時間為12小時格式 \A :顯示時間為24小時格式:HH:MM \u :當前用戶的賬號名稱 \v :BASH的版本信息 \w :完整的工作目錄名稱。家目錄會以 ~代替 \W :利用basename取得工作目錄名稱,所以只會列出最后一個目錄 \# :下達的第幾個命令 \$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$ 默認的PS1內容為: '\u@\h\W\$' ,所以默認的提示符就是:[root@linux ~]#