一禁筏、引言
1.1 開發(fā)環(huán)境(dev)
外部用戶無法訪問瞬捕,開發(fā)人員使用员咽,版本變動很大
平時大家大多是在Windows或者Mac操作系統(tǒng)下去編寫代碼進行開發(fā)惹骂,在開發(fā)環(huán)境中安裝大量的軟件魂拦,這樣會導致環(huán)境的穩(wěn)定性和安全性降低.
1.2 測試環(huán)境(test)
外部用戶無法訪問毛仪,專門給測試人員使用的,版本相對穩(wěn)定
一般克隆一份生產(chǎn)環(huán)境芯勘,會將開發(fā)環(huán)境中的程序部署到測試環(huán)境中箱靴,這個環(huán)境的主要目的是去程序進程檢測,收集程序中的各種問題荷愕,并交給開發(fā)人員進行修改.
1.3 生產(chǎn)環(huán)境(prod)
面向外部用戶的環(huán)境衡怀,連接上互聯(lián)網(wǎng)即可訪問的正式環(huán)境
是將程序運行在此環(huán)境中,供用戶去使用安疗。這個環(huán)境是有專業(yè)的人員去維護抛杨,一般人是沒有權(quán)限去操做生產(chǎn)環(huán)境的.
三個環(huán)境也可以說是系統(tǒng)開發(fā)的三個階段:開發(fā) --> 測試 --> 上線,其中生產(chǎn)環(huán)境也就是通常說的真實環(huán)境荐类。
1.4 操作系統(tǒng)的選擇
生產(chǎn)環(huán)境中怖现,常用的操作系統(tǒng)有Windows 2003 service,Linux掉冶,Unix等等真竖,Linux操作系統(tǒng),在生產(chǎn)環(huán)境中占據(jù)了大量的市場份額厌小,Linux主要以穩(wěn)定恢共,可靠,免費的特點成為全球使用最多的服務器操作系統(tǒng)璧亚。
Linux操作系統(tǒng)現(xiàn)在已經(jīng)成為后臺開發(fā)人員必備的技能讨韭,并且后期學習的各種知識都會涉及到Linux操作系統(tǒng)。
二癣蟋、Linux介紹
2.1 Linux介紹
在Linux操作系統(tǒng)出現(xiàn)之前透硝,還有一個操作系統(tǒng)叫做Minix,Minix操作系統(tǒng)是由Andrew的大學教授研發(fā)出來的疯搅,當時大學教授是為了給學生上課濒生,買了一套Unix操作系統(tǒng),參考Unix自己寫了一個操作系統(tǒng)幔欧,并且命名為Minix罪治。同時將Minix開源,供學校內(nèi)部的研究和教學礁蔗,到了2000年觉义,Andrew將Minix操作系統(tǒng)完全對外開源。
Minix由于完全對外開源之后浴井,在互聯(lián)網(wǎng)上迅速的傳播晒骇,但是大家在使用時,發(fā)展Minix不時很完美,內(nèi)部存在各種各樣問題洪囤。用戶將問題解決后徒坡,編寫了一個補丁,將補丁以郵件的方式發(fā)給Andrew箍鼓,但是Andrew教授最初的目的只是為了教學和研究崭参。
于此同時,一位芬蘭的大學生出現(xiàn)了款咖,叫Linus何暮,在Minix操作系統(tǒng)基礎(chǔ)上,自己添加了一些補丁和插件铐殃,并將其命名為Linux操作系統(tǒng)海洼,并且完全對外開源,而且開始維護Linux操作系統(tǒng)富腊。
之前學習的Git也時Linus研發(fā)的坏逢。
Linus Torvalds 和 Linux |
---|
2.2 Linux的版本
Linux的版本分為兩種,一種是Linus團隊正在維護的開源內(nèi)核版本赘被。另一種是一些廠商基于內(nèi)核版本封裝的發(fā)行版本是整。
Linux的內(nèi)核版本官網(wǎng):https://www.kernel.org/
Linux的發(fā)行版本,咱們需要學習的發(fā)行版本就時CentOS
Linux的常見發(fā)行版本 |
---|
2.3 Linux和Windows區(qū)別
- Linux是嚴格區(qū)分大小寫的民假,Windows無所謂浮入。
- Linux中一切皆是文件。
- Linux中文件是沒有后綴的羊异,但是他有一些約定俗成的后綴事秀。
- Windows下的軟件一般是無法直接運行的Linux中。
Ps:我們在學習Linux時野舶,參考Windows下做了什么易迹,就在Linux中做什么
三、Linux安裝
安裝Linux平道,我們需要一個虛擬機睹欲,為了安裝虛擬環(huán)境:VMware或者Virtual Box(采用VMware)
因為Linux也是一個系統(tǒng),本質(zhì)上跟我們電腦的Window沒有區(qū)別一屋,我們可以在我們電腦上安裝一個軟件窘疮,這個軟件可以模擬一臺或多臺虛擬的電腦機器,這就是虛擬機陆淀。
虛擬機(Virtual Machine)指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng)先嬉。虛擬系統(tǒng)通過生成現(xiàn)有操作系統(tǒng)的全新虛擬鏡像轧苫,它具有真實windows系統(tǒng)完全一樣的功能,進入虛擬系統(tǒng)后,所有操作都是在這個全新的獨立的虛擬系統(tǒng)里面進行含懊,可以獨立安裝運行軟件身冬,保存數(shù)據(jù),擁有自己的獨立桌面岔乔,不會對真正的系統(tǒng)產(chǎn)生任何影響 酥筝,而且具有能夠在現(xiàn)有系統(tǒng)與虛擬鏡像之間靈活切換的一類操作系統(tǒng)。虛擬系統(tǒng)和傳統(tǒng)的虛擬機(Parallels Desktop 雏门,Vmware嘿歌,VirtualBox,Virtual pc)不同在于:虛擬系統(tǒng)不會降低電腦的性能茁影,啟動虛擬系統(tǒng)不需要像啟動windows系統(tǒng)那樣耗費時間宙帝,運行程序更加方便快捷;虛擬系統(tǒng)只能模擬和現(xiàn)有操作系統(tǒng)相同的環(huán)境募闲,而虛擬機則可以模擬出其他種類的操作系統(tǒng)步脓;而且虛擬機需要模擬底層的硬件指令,所以在應用程序運行速度上比虛擬系統(tǒng)慢得多浩螺。流行的虛擬機軟件有VMware(VMWare ACE)靴患、Virtual Box和Virtual PC,它們都能在Windows系統(tǒng)上虛擬出多個計算機
3.1 安裝VMware要出,Xshell鸳君,F(xiàn)ileZilla
VMware 可以使你在一臺機器上同時運行二個或更多Windows、DOS厨幻、LINUX系統(tǒng)相嵌。與“多啟動”系統(tǒng)相比,VMWare采用了完全不同的概念况脆。多啟動系統(tǒng)在一個時刻只能運行一個系統(tǒng)饭宾,在系統(tǒng)切換時需要重新啟動機器。VMWare是真正“同時”運行格了,多個操作系統(tǒng)在主系統(tǒng)的平臺上看铆,就像標準Windows應用程序那樣切換。而且每個操作系統(tǒng)你都可以進行虛擬的分區(qū)盛末、配置而不影響真實硬盤的數(shù)據(jù)弹惦,你甚至可以通過網(wǎng)卡將幾臺虛擬機用網(wǎng)卡連接為一個局域網(wǎng),極其方便悄但。安裝在VMware操作系統(tǒng)性能上比直接安裝在硬盤上的系統(tǒng)低不少棠隐,因此,比較適合學習和測試檐嚣。 使我們可以在同一臺PC機上同時運行Windows 助泽、Linux、FreeBSD……可以在使用Linux的同時,即時轉(zhuǎn)到Windows中運行Word嗡贺。如果要使用Linux隐解,只要輕輕一點,又回到Linux之中诫睬。就如同你有兩臺計算機在同時工作煞茫。實現(xiàn)的工具就是:虛擬計算平臺——Vmware。
3.2 在VMware中安裝Linux
參考安裝圖解
四摄凡、Linux的目錄結(jié)構(gòu)
/ 根目錄
/bin:是Binary的縮寫, 這個目錄存放著最經(jīng)常使用的命令续徽。
/boot:存放的是啟動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件架谎。
/dev :是Device(設(shè)備)的縮寫, 該目錄下存放的是Linux的外部設(shè)備炸宵,在Linux中訪問設(shè)備的方式和訪問文件的方式是相同的。
/etc:用來存放所有的系統(tǒng)管理所需要的配置文件和子目錄谷扣。
/home:用戶的主目錄土全,在Linux中,每個用戶都有一個自己的目錄会涎,一般該目錄名是以用戶的賬號命名的裹匙。
/lib:放著系統(tǒng)最基本的動態(tài)連接共享庫,其作用類似于Windows里的DLL文件末秃。幾乎所有的應用程序都需要用到這些共享庫概页。
/lost+found:這個目錄一般情況下是空的,當系統(tǒng)非法關(guān)機后练慕,這里就存放了一些文件惰匙。
/media:linux系統(tǒng)會自動識別一些設(shè)備,例如U盤铃将、光驅(qū)等等项鬼,當識別后,linux會把識別的設(shè)備掛載到這個目錄下劲阎。
/mnt:系統(tǒng)提供該目錄是為了讓用戶臨時掛載別的文件系統(tǒng)的绘盟,我們可以將光驅(qū)掛載在/mnt/上,然后進入該目錄就可以查看光驅(qū)里的內(nèi)容了悯仙。
/opt:主機額外安裝軟件所擺放的目錄龄毡。比如你安裝一個ORACLE數(shù)據(jù)庫則就可以放到這個目錄下。默認是空的锡垄。
/proc:是一個虛擬的目錄沦零,它是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問這個目錄來獲取系統(tǒng)信息货岭。
/root:為系統(tǒng)管理員路操,也稱作超級權(quán)限者的用戶主目錄序攘。
/sbin:s就是Super User的意思,這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序寻拂。
/selinux:是Redhat/CentOS所特有的目錄,Selinux是一個安全機制丈牢,類似于windows的防火墻祭钉,但是這套機制比較復雜,這個目錄就是存放selinux相關(guān)的文件的己沛。
/srv:存放一些服務啟動之后需要提取的數(shù)據(jù)慌核。
/sys:linux2.6內(nèi)核的一個很大的變化。該目錄下安裝了2.6內(nèi)核中新出現(xiàn)的一個文件系統(tǒng) sysfs申尼,sysfs文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對進程信息的proc文件系統(tǒng)垮卓、針對設(shè)備的devfs文件系統(tǒng)以及針對偽終端的devpts文件系統(tǒng)。該文件系統(tǒng)是內(nèi)核設(shè)備樹的一個直觀反映师幕。當一個內(nèi)核對象被創(chuàng)建的時候粟按,對應的文件和目錄也在內(nèi)核對象子系統(tǒng)中被創(chuàng)建。
/tmp:是用來存放一些臨時文件的霹粥。
/usr:用戶的很多應用程序和文件都放在這個目錄下灭将,類似于windows下的program files目錄。
/usr/bin:系統(tǒng)用戶使用的應用程序后控。
/usr/sbin:超級用戶使用的比較高級的管理程序和系統(tǒng)守護程序庙曙。
/usr/src:內(nèi)核源代碼默認的放置目錄。
/var:這個目錄中存放著在不斷擴充著的東西浩淘,我們習慣將那些經(jīng)常被修改的目錄放在這個目錄下捌朴。包括各種日志文件
五、Linux的命令
Ctrl + C 停止當前進程
目錄切換命令
cd切換目錄
cd /usr 切換到usr目錄 cd .. 切換到上一層目錄 cd ../.. 跳到目前目錄的上上兩層 cd / 切換到系統(tǒng)根目錄 cd ~ 切換到用戶主目錄(root) cd - 切換到上一個所在目錄
目錄操作命令
pwd 顯示當前目錄
ls 查看該目錄下的所有的目錄和文件
ls -a 查看該目錄下的所有文件和目錄张抄,包括隱藏目錄
ls -l 查看該目錄下的所有目錄和文件的詳細信息(ls -l 可以縮寫成ll)
ls -al 查看該目錄下的所有目錄(包括隱藏目錄)和文件的詳細信息
ls -l |grep xxx 查看篩選后的目錄和文件的詳細信息
vi/vim編輯器
首先切換到桌面:[root@localhost ~]# cd /root/桌面
拷貝系統(tǒng)中的文件做練習:[root@localhost 桌面]# cp /etc/kdump.conf a.conf
分別使用vi和vim測試砂蔽,vim對文件中注釋的內(nèi)容會改變其顏色,退出改文件編輯輸入 :q 然后回車即可
[root@localhost 桌面]# vi a.conf
[root@localhost 桌面]# vim a.conf
vim的三種模式:命令模式 輸入模式 底線命令模式
進入到文件中以后默認就是命令模式
:set nu 顯示行號
:set nonu 隱藏行號
dd 刪除當前行
u 撤銷當前操作
yy 復制
p 粘貼
shift+g 光標移動至文件末尾
輸入N欣鳖,然后shift+g 光標移動到第N行
進入到文件中以后輸入i/a/o進入輸入模式
i 光標前編輯
a 光標后編輯
o 光標移至下一行編輯
[Esc] 退出編輯模式
編輯完成之后察皇,點擊[Esc],然后 shift+: 進入底線命令模式
:q! 強制退出(修改了內(nèi)容泽台,不保存)
:wq 保存并退出
常用命令
Ctrl+L 清屏
ifconfig 查看ip地址
Tap 補全
man 查看手冊
man ls 查看ls相關(guān)命令手冊(按q退出當前手冊)
ls --help 查看ls相關(guān)命令手冊
date 日期
cal 日歷
mkdir xxx 創(chuàng)建目錄
mkdir -p x/y/z 創(chuàng)建多級目錄
touch xxx 創(chuàng)建文件
vim xxx 創(chuàng)建文件并編輯
rmdir xxx 刪除空目錄
rm xxx 刪除子目錄或文件
rm -r xxx 會詢問什荣,遞歸刪除,可以刪除子目錄
rm -rvf xxx 不會詢問怀酷,顯示已刪除信息
rm -rf xxx 不會詢問稻爬,不顯示已刪除信息
cp xxx(被復制文件) xxx(復制到某個位置) 拷貝文件
cp -rv xxx xxx 連同子目錄一起拷貝,并顯示信息
mv xxx(源文件名) xxx(新文件名) 重命名
mv xxx /目錄名 移動xxx文件到某個位置(如果只有一個目錄不用加 / )
cat xxx 查看文件蜕依,一般查看較小的文件
more xxx 查看文件桅锄,一般查看較大的文件 //回車 和 空格 (顯示百分比)
less xxx 和more類似琉雳,操作鍵不同 // 上下鍵(顯示底行命令,q直接退出)
tail xxx 從尾部開始查看
tail -N xxx 從尾部查看N行
tail -f xxx 跟隨查看友瘤,一般用于查看日志( 可以通過echo命令進行測試:echo 內(nèi)容 >> 文件 )
history 查看歷史命令
find 查找文件或目錄
如果沒有指定搜索路徑翠肘,默認從當前目錄查找
-name 按名稱查找,精準查找
-iname 按名稱查找辫秧,忽略大小寫
*:匹配所有
?:匹配單個字符
比如find /etc -name “init???”在目錄/etc中查找以init開頭的束倍,且后面有三位的文件
tar -zcvf xx.tar.gz xxx.txt 壓縮文件
-z 使用gzip壓縮
-c 創(chuàng)建壓縮文件
-x 解開壓縮文件
-v 顯示文件信息
-f 指定壓縮后的文件名
-C /路徑名:表示將壓縮包解壓到指定路徑
tar -zxvf xxx.tar.gz 解壓縮
ps -aux 查看系統(tǒng)中的進程信息
-a 顯示所有進程信息
-u 以用戶格式顯示進程信息
-x 顯示后臺進程運行參數(shù)
ps -aux|grep xxx 篩選進程
ps -ef 以全格式顯示當前所有進程
kill pid 通過進程pid殺死當前進程
kill -9 pid 強行殺死進程(常用)
例如:在vm上的虛擬機桌面上右鍵打開終端,然后在Xshell上找到 bash 對應的進程pid
使用 kill 3577 和 kill -9 3577 進行測試
systemctl start 服務名(xxx.service) 啟動該服務
systemctl restart 服務名(xxx.service) 重啟該服務
systemctl stop 服務名(xxx.service) 停止該服務
systemctl status 服務名(xxx.service) 查看該服務
例如:
systemctl status firewalld.service 查看防火墻
systemctl stop firewalld.service 關(guān)閉防火墻
因為防火墻會隨著虛擬機開機自動運行盟戏,避免麻煩绪妹,我們可以永久關(guān)閉防火墻
[root@localhost 桌面]# systemctl list-unit-files |grep firewalld 找到防火墻
[root@localhost 桌面]# systemctl disable firewalld.service 關(guān)閉防火墻
netstat -anp |grep 8080 查看8080端口是否被占用
useradd xxx(用戶名) 新增用戶(創(chuàng)建成功后會在home目錄下創(chuàng)建對應文件夾)
passwd xxx(用戶名) 設(shè)置該用戶密碼
su - xxx(用戶名) 切換至該用戶
whoami/who am i 查看當前用戶
id xxx(用戶名) 查看當前用戶
userdel [-r] xxx(用戶名) 刪除用戶,-r表示刪除該用戶的home目錄
groupadd xxx(組名) 新增用戶組
usermod -g xxx(組名) yyy(用戶名) 修改用戶的用戶組
useradd -g xxx(組名) yyy(用戶名) 新增用戶時直接添加組
groups xxx(用戶名) 查看當前用戶所在的組
cat /etc/passwd 可以查看系統(tǒng)中的所有用戶
cat /etc/shadow 可以查看系統(tǒng)中的所有用戶的密碼
cat /etc/group 可以查看系統(tǒng)中的所有用戶組
文件權(quán)限管理:執(zhí)行l(wèi)s -l(ll)
第0位:文件類型(d 目錄柿究,- 普通文件邮旷,l 鏈接文件)
第1-3位:所屬用戶(所有者)權(quán)限,用u(user)表示
第4-6位:所屬組權(quán)限蝇摸,用g(group)表示
第7-9位:其他用戶(其他人)權(quán)限婶肩,用o(other)表示
r:代表權(quán)限是可讀,r也可以用數(shù)字4表示
w:代表權(quán)限是可寫貌夕,w也可以用數(shù)字2表示
x:代表權(quán)限是可執(zhí)行狡孔,x也可以用數(shù)字1表示
修改文件/目錄的權(quán)限的命令:chmod
示例:
修改a.txt的權(quán)限為屬主有全部權(quán)限,屬主所在的組有讀寫權(quán)限蜂嗽,其他用戶只有讀的權(quán)限
chmod u=rwx,g=rw,o=r a.txt 或者 chmod 764 a.txt(常用)
注意:root用戶是超級用戶苗膝,不管有沒有權(quán)限,root都能進行更改, 用普通用戶測試權(quán)限
RPM(Red-Hat Package Manager) Red-Hat軟件包管理
rpm –qa 查看已安裝軟件
rpm –qa|grep xxx 篩選查看已安裝軟件
rpm -e xxx 卸載已安裝軟件
rpm -ivh xxx 安裝軟件
-i 安裝(install)
-v 查看信息
-h 查看進度條
例如:可以使用自帶的火狐瀏覽器進行測試
[root@localhost 桌面]# rpm -qa|grep firefox
[root@localhost 桌面]# rpm -e firefox
再次查看
[root@localhost 桌面]# rpm -qa|grep firefox
再次安裝植旧,需要下載 firefox對應的版本的 *.rpm 文件(但是需要環(huán)境辱揭,比較麻煩,一般使用yum方式安裝)
[root@localhost Packages]# rpm -ivh firefox-6.0.1-1.2.mga1.x86_64.rpm
[root@localhost Packages]# rpm -qa|grep firefox
YUM(yellowdog updater modified)軟件包管理工具
應用yum的好處:
自動解決軟件包依賴關(guān)系(類似MAVEN)
方便的軟件包升級
[root@localhost Packages]# yum list|grep firefox 自動聯(lián)網(wǎng)查看firefox可用安裝包
[root@localhost Packages]# yum install firefox 自動選擇安裝firefox
六病附、Linux軟件安裝【重點
】
6.1 JDK安裝
[root@localhost 桌面]# rpm -qa | grep java 查看系統(tǒng)中默認安裝的jdk
java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
tzdata-java-2016g-2.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
我們需要將opjdk都刪除(1.7和1.8各有兩個)问窃,后綴為.noarch的文件可以不用刪除
[root@localhost 桌面]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64
[root@localhost 桌面]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64
[root@localhost 桌面]# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64
[root@localhost 桌面]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
[root@localhost 桌面]# java -version
bash: java: 未找到命令...
把下載好的jdk安裝包拷貝到當前虛擬機root目錄下,一般我們解壓到/usr/local目錄下
[root@localhost ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local
配置環(huán)境變量
[root@localhost ~]# vim /etc/profile
在該文件中添加如下信息:
JAVA_HOME=/usr/local/jdk1.8.0_151
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=PATH
export JAVA_HOME CLASSPATH PATH
立即生效
[root@localhost ~]# source /etc/profile(如果不行可重啟虛擬機再次嘗試)
再次測試
[root@localhost ~]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
6.2 Tomcat安裝
把下載好的tomcat安裝包拷貝到當前虛擬機root目錄下完沪,一般我們解壓到/usr/local目錄下
[root@localhost ~]# tar -zxvf apache-tomcat-8.5.23.tar.gz -C /usr/local
在啟動tomcat之前記得關(guān)閉防火墻
[root@localhost ~]# systemctl stop firewalld.service
切換到tomcat的bin目錄
[root@localhost ~]# cd /usr/local
[root@localhost local]# cd apache-tomcat-8.5.23/bin
啟動tomcat
[root@localhost bin]# ./startup.sh
關(guān)閉tomcat
[root@localhost bin]# ./shutdown.sh
6.3 Mysql安裝
CentOS中默認安裝的是MariaDB域庇,安裝完MySQL之后會覆蓋MariaDB,由于安裝MySQL需要添加很多依賴關(guān)系覆积,所以這里使用yum安裝.
下載MySQL源安裝包
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
.......
2019-10-17 14:37:41 (230 KB/s) - 已保存 “mysql57-community-release-el7-10.noarch.rpm”
[25548/25548])
-c: 沒有那個文件或目錄
在 -c 中找不到 URL听皿。
FINISHED --2019-10-17 14:37:41--
Total wall clock time: 7.4s
Downloaded: 1 files, 25K in 0.1s (230 KB/s)
安裝MySQL源(如果無法安裝,先執(zhí)行該命令:rm -f /var/run/yum.pid)
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
...........
Running transaction
正在安裝 : mysql57-community-release-el7-10.noarch 1/1
驗證中 : mysql57-community-release-el7-10.noarch 1/1
已安裝:
mysql57-community-release.noarch 0:el7-10
完畢宽档!
安裝MySQL
[root@localhost ~]# yum -y install mysql-community-server
..............
作為依賴被安裝:
mysql-community-client.x86_64 0:5.7.28-1.el7 mysql-community-common.x86_64 0:5.7.28-1.el7
作為依賴被升級:
openssl.x86_64 1:1.0.2k-19.el7 openssl-libs.x86_64 1:1.0.2k-19.el7
postfix.x86_64 2:2.10.1-7.el7
替代:
mariadb-libs.x86_64 1:5.5.52-1.el7
完畢尉姨!
啟動MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL運行狀態(tài)
[root@localhost ~]# systemctl status mysqld.service
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2019-10-17 15:00:59 CST; 26s ago
設(shè)置MySQL自啟動
[root@localhost ~]# systemctl enable mysqld
配置MySQL
[root@localhost ~]# vim /etc/my.cnf
在/etc/my.cnf的[mysqld]中增加如下內(nèi)容:
#不添加則在設(shè)置MySQL新密碼時會錯
#用于設(shè)置MySQL的字符集
#用于設(shè)置MySQL的遠程連接
validate_password=off
character_set_server=utf8
skip-name-resolve
重新啟動MySQL
[root@localhost ~]# systemctl restart mysqld.service
此時MySQL已經(jīng)開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼吗冤,通過如下命令可以在日志文件中找出密碼:
[root@localhost ~]# grep "password" /var/log/mysqld.log
2019-10-17T07:00:52.740835Z 1 [Note] A temporary password is generated for root@localhost: l0hN)kEXugYv
2019-10-17T07:14:54.867706Z 3 [Note] Access denied for user 'root'@'localhost' (using password: YES)
登錄MySQL
[root@localhost ~]# mysql -uroot -p
輸入:l0hN)kEXugYv 進入到MySQL
輸入初始密碼又厉,此時不能做任何事情九府,因為MySQL默認必須修改密碼之后才能操作數(shù)據(jù)庫:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
設(shè)置MySQL可以遠程訪問
mysql>grant all privileges on . to 'root'@'%' identified by '密碼' with grant option;
此時可以使用我們的數(shù)據(jù)庫客戶端工具進行遠程連接,如果連接不上覆致,重啟MySQL后再測試
測試成功后侄旬,退出MySQL
mysql> exit;
Bye
卸載Yum Repository,否則每次yum操作都會自動更新
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
已加載插件:fastestmirror, langpacks
正在解決依賴關(guān)系
--> 正在檢查事務
---> 軟件包 mysql57-community-release.noarch.0.el7-10 將被 刪除
--> 解決依賴關(guān)系完成
依賴關(guān)系解決
=========================================================================================
Package 架構(gòu) 版本 源 大小
=========================================================================================
正在刪除:
mysql57-community-release noarch el7-10 installed 30 k
事務概要
=========================================================================================
移除 1 軟件包
安裝大谢吐琛:30 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在刪除 : mysql57-community-release-el7-10.noarch 1/1
驗證中 : mysql57-community-release-el7-10.noarch 1/1
刪除:
mysql57-community-release.noarch 0:el7-10
完畢勾怒!
測試遠程連接,連接未成功声旺,需要再次關(guān)閉防火墻,重啟MySQL
關(guān)閉防火墻:
systemctl stop firewalld.service
七段只、部署SSM工程
部署項目到Linux中需要注意一下內(nèi)容:
- 項目要保證在Windows下是沒有問題的腮猖,再部署到Linux。
- 連接線上的數(shù)據(jù)庫赞枕,代碼需要修改成線上數(shù)據(jù)庫的地址
- 將Maven項目打包
- 在部署到Linux操作系統(tǒng)中后澈缺,測試時查看日志。