事先聲明,參考自:http://www.javashuo.com/article/p-boksldmp-m.htmlhtml
撰寫此文,純屬是爲了便利之後換電腦重裝。mysql
Linux:世界上不只只有一個 Windows 操做系統,還有 Linux、mac、Unix 等操做系統。桌面操做系統下 Windows 是霸主,而 Linux 的桌面操做系統用的人不多,由於 Windows 有的不少軟件在 Linux 下沒有或者很弱;服務器操做系統則反之。Linux 有一個強大的服務器軟件生態系統:Docker、Redis、MySQL、Nginx、Hadoop 等等。linux
Linux 內核由 Linus 及開源社區維護,內核包含內存管理、存儲管理、進程管理、網絡通信等基礎模塊。不少公司、開源組織基於 Linux 內核打包出了不少「發行版」,不一樣的發行版的內核版本可能不一致,包含的軟件也不一致,界面差異較大,可是命令行操做都是互通的,大部分程序也是互通的。ios
內核和發行版的關係就像 Android 內核和「小米手機系統、華爲手機系統」的關係同樣。程序員
經常使用的發行版有 RedHat、CentOS、Debian、Ubuntu 等等。這裏咱們用 Ubuntu,由於 Ubuntu 內置的軟件最適合程序員,其餘發行版要本身裝。固然也有一些人鑽木取火的人瞧不起用Ubuntu 的人。正則表達式
使用 Linux 最好是在計算機上直接安裝 Linux 系統,最起碼也是雙系統啓動。不過擔憂初學者搞砸了本身的電腦,並且 Linux 不太適合平常使用。所以咱們使用虛擬機軟件在sql
Windows 上虛擬出一臺電腦出來,在這臺虛擬的電腦上安裝 Linux。shell
使用虛擬機的好處:不破壞物理電腦是,隨便搞。壞處:不真實、操做卡。數據庫
Windows 下的虛擬機軟件有 VMWare、Virtual Box、HypverV 等。這裏咱們使用開源免費的 Virtual Box。canvas
電腦若是配置太差跑不起虛擬機,只能升級電腦,加內存就差很少。
資源:連接: https://pan.baidu.com/s/13WwgGuGfQgDOGSnN0qaWWA 提取碼: mhtk
也能夠用VMware:
密鑰:YA18K-0WY8P-H85DY-L4NZG-X7RAD
連接: https://pan.baidu.com/s/1c8XIt8hSBFS9HWKNmrO89w 提取碼: u8qw
安裝方法網上千篇一概,一路 Next 就能夠,在此再也不贅述。
資源:連接: https://pan.baidu.com/s/1ZR_5jgzNsGeOrkE6hAqxEA 提取碼: qiaf
下面會用到。
1. 新建一個虛擬機。
(須要選 64 位 Ubuntu,不要選成 32 位,由於一些軟件不支持 32 位系統。 若是不能選擇 32 位的版本,那麼說明你的電腦主板沒有啓用虛擬化,須要進入電腦 bios 設置啓用虛擬化。不一樣版本主板的啓用虛擬化的方法不同,具體請根據你主板的型號去網上搜索。有部分老電腦主板不支持虛擬化,這就沒辦法了)
2. 虛擬電腦內存至少 2G 纔不卡。
3. 建立虛擬硬盤。
4. 配置虛擬機,加載 iso 虛擬光盤文件。
5. 把 iso 文件加載到光驅中(至關於 Linux 安裝光盤插入光驅),而後啓動虛擬機。直到運行到 Linux 安裝畫面。
輸入安裝 Linux 時候設定的密碼。
圖形化的程序儘可能不要用,在桌面上點右鍵→打開終端。在不少生產服務器下,是沒有裝圖形化程序的,就是直接命令行界面操做,根本就進不了圖形界面。
儘可能不要用圖形界面,全部操做均可以在「終端」中完成,所以後續操做都儘可能在「終端」中進行。
也忘了鼠標,別妄想在終端中用鼠標。
不要想「終端中聽歌、看電影、上網」,場景不對。
使用習慣
實際上是能夠「共享文件夾」在虛擬機和宿主機之間共享文件等操做。可是虛擬機使用 linux 的時候,不要想着還有「宿主機(Host)」,不要想着怎麼「共享文件夾」,就把當成兩臺電腦就能夠。共享文件的方式就經過經典的 ftp 跨服務器的等方式,就像兩臺電腦同樣。
能夠「共享粘貼板」,可是別這麼懶,那就是一臺單獨的電腦,你怎麼複製粘貼? 虛擬硬盤、虛擬光盤(iso)、虛擬內存、虛擬 cpu。虛擬出來的電腦和主機(Host)之間沒有直接的聯繫,也不會互相干擾。
備份
VBox 安裝完成後能夠作一個「備份」(主菜單【控制】→【生成備份】),這樣萬一把虛機系統搞亂了還能夠還原回來,能夠建立多個「備份」,至關於「還原點」。
鎖屏
爲了不反覆鎖屏,在設置→亮度和鎖屏中關閉「鎖屏」;
VBox 窗口能夠調整大小,虛擬機中的系統會自動調整分辨率,有的電腦不支持。
網卡
虛擬機的網卡有時候會有問題連不上網,這時候就要在虛擬機的設置中先取消網卡再從新選擇網卡,至關於插拔網線。
若是使用 linux 桌面,也有一些圖形化文本編輯器(相似於記事本),但 linux 的神級編輯器是 VI,若是連 VI 都不會用就別說會用 linux。
在不少環境下是沒有圖形界面的,只能用 VI。VI 是全鍵盤操做,不能用鼠標。固然平常開發仍是在圖形界面下使用 VS 等開發,使用 VI 通常是進行簡單的修改或者配置文件的修改。
VI 剛接觸感受很痛苦,用熟了也挺爽的,VI 命令很是多,初學掌握基本的操做便可。vim 是 VI 的增強版。
命令模式下能夠進行行刪除等命令的輸入(至關於快鍵鍵);
插入模式下能夠進行文本的輸入;
末行模式下是執行保存、退出等指令用。
易混:插入模式下若是直接輸入:就是輸入:了,所以要先 esc 退出插入模式
還有一個傻瓜化字符界面編輯器 nano,底下提示信息中^X 的意思就是 ctrl+X。不是每一個Linux 上都安裝 nano,有時候須要本身裝。
linux 下不少軟件都是本身下載源代碼、本身編譯的,有點痛苦。所以不少發行版都有本身的安裝包格式。好比 RedHat 使用*.rpm 的文件,Ubuntu 使用*.deb 文件。
本身查找、下載安裝仍是很麻煩。所以不少發行版中都提供了相似於應用市場、NuGet 的東西。
Ubuntu 推薦使用 apt 進行下載、安裝。會從 ubuntu 官網下載(中國區鏡像),若是下載速度慢的話,能夠設置從其餘鏡像下載,具體搜索「Ubuntu apt-get 鏡像」 執行某些程序的時候,若是程序沒安裝,還會提示你,好比執行 vim、tree 等。
安裝軟件須要 sudo 執行。以下:
虛擬機和主機之間組建了一個局域網,虛擬機經過主機上網。虛擬機的設置的「網絡」中能夠設置不一樣的鏈接方式。主機能夠經過 ifconfig 看到的 ip 地址鏈接虛擬機的網絡。
虛擬機的網絡鏈接方式有不少種,最主要有三種:HostOnly 、NAT、橋接(Bridge)。HostOnly 配置較麻煩,須要懂不少網絡工程的東西;NAT 是虛擬機藉助於主機網卡訪問網絡,藏在主機後面,網絡中其餘設備不能這個虛擬機,連主機都不能,可是虛擬機能鏈接主機的網絡,能上外網;橋接(Bridge)方式則是把虛擬主機也暴露爲網絡中的一個設備,主機和虛擬主機在網絡內是平等的,能夠互相訪問,可是要求網絡中沒有設備訪問的限制(好比 Mac 地址綁定或者終端個數限制),若是有限制要改路由器的配置。由於我們須要主機和虛擬機互相訪問,除非網絡有限制,不然最好配置爲橋接(Bridge),配置橋接(Bridge)要選擇經過哪一個網卡上外網,不能選錯了,不然就沒法訪問外網了。後面咱們都配置爲橋接(Bridge)。
虛擬機的 ip 地址可能變化,注意。
運維人員是怎麼遠程鏈接到機房上的服務器,不多使用圖形界面(卡,沒法自動化)遠程登陸有專門的通訊協議 telnet, telnet 就是經過網絡進行命令行操做服務器。只有服務器端開始了遠程登陸服務,客戶端才能經過 telnet 協議控制服務器端。
但 telnet 協議使用明文傳輸數據,這會形成嚴重的安全性問題,因此如今幾乎不推薦使用, 而替代協議是 SSH。SSH 通信過程數據是加密的。
windows 下如何經過 ssh 鏈接到 linux :下載運行 putty,免安裝。
linux下重啓網絡服務: /etc/init.d/network restart 或者是 /etc/init.d/networking restart
putty登陸SSH終端出現的「Access Denied」提示:只要在Putty的configuration裏面Connection-》SSH-》Auth【認證】-》GSSAPI的配置中,去掉默認的Attempt GSSAPI authentication(ssh-2 only) 一項前面的對勾。
若是顯示中文亂碼,則在 putty 標題欄點擊右鍵,選【change settings】點【Translation】,選 UTF8 編碼。
新顯示會不亂碼,舊顯示還會亂碼。
後續都經過 ssh 鏈接操做,這也是平時鏈接服務器時候的常規操做:windows 下開發,而後部署到 linux 下運行。
用戶名:user信息
密碼:passworrd信息
登陸:mysql -uuser信息 -ppassword信息
這裏是關鍵點,因爲mysql5.7沒有password字段,密碼存儲在authentication_string字段中,password()方法還能用
在mysql中執行下面語句修改密碼
use mysql; // 下面這句命令有點長,請注意。 update mysql.user set authentication_string=password('123456') where user='root' and Host ='localhost'; update user set plugin="mysql_native_password"; flush privileges; quit;
/etc/init.d/mysql restart; //或者 sudo service mysql restart
mysql -u root -p密碼;
sudo apt purge mysql-* sudo rm -rf /etc/mysql/ /var/lib/mysql sudo apt autoremove
# 安裝的時候會提示要設置root密碼,若是你沒有在卸載的時候去清理殘留數據是不會提示你去設置root密碼的 ,個人就沒提示,能夠用上面的方法修改密碼 sudo apt-get install mysql-client mysql-server #檢查mysql是否是在運行 sudo service mysql status #通常安裝完成以後都是會自動運行的,若是沒有運行能夠start sudo service mysql start
主機上鍊接虛擬機內的 mysql 必定要鏈接虛擬機的 ip,別連錯了。
主機的 ip 若是變了就要從新配置。
什麼是 ftp:經過 ftp 進行文件的上傳下載
執行 sudo apt-get install vsftpd 命令進行安裝
這時候能夠用 linux 用戶登陸,可以訪問/home/用戶名的文件夾下。可是沒有上傳權限。須要 sudo vi /etc/vsftpd.conf 將 write_enable=YES 前面的#取消,而後執行 sudo /etc/init.d/vsftpd restart 重啓
Windows 下可使用 FileZilla FTP Client 等 FTP 客戶端上傳下載
中文會有亂碼,不用處理,上傳下載比較多的文件都壓縮。linux 解壓使用 unzip「unzip a.zip」。不要傳 rar 等格式。