LNMP環境介紹,Mariadb安裝,服務管理,mariadb安裝3

LNMP環境介紹

  • Nginx 處理的請求有兩種,分爲 靜態與動態
  • 圖片,js,css,視頻,音頻,flash 等都是靜態請求,這些數據都不是保存在數據庫裏面的
  • 動態請求通常來講,須要的數據是在數據庫裏面的,須要到數據庫調用數據,須要php參與

Mariadb安裝

  • mariadb 官網地址是 https://mariadb.org/
  • 如圖,下載點擊 download
  • 進入這個頁面後,再點擊 download
  • 進入這個頁面後,仍是點擊 download ,10.4.8 是最新的穩定版本
  • 進入這個頁面後,發現有不少不一樣版本的包能夠下載
  • 使用右側的篩選功能,operating system 是篩選使用的系統的
  • 由於是安裝在 linux 上面,因此這裏選擇 generic linux 表示運行的環境是linux
  • 頁面拉到下面,繼續篩選,右側選擇 64-bit,由於個人電腦是64位的系統,因此選擇64-bit
  • mirror表示鏡像地址,不一樣的鏡像地址網速不同,若是想下載快一點
  • 就選擇離本身近的鏡像,由於我在國內下載,因此選擇國內的鏡像地址
  • 這裏選擇 清華大學的鏡像地址
  • 三個選項篩選完成,就剩下兩個版本的程序包了
  • 一個是 systemd ,一個是 glibc
  • 這裏選擇 systemd 版本的下載,glibc版本還須要安裝glibc包,若是沒有的話
  • 點擊下載後,打開瀏覽器的下載管理頁面
  • 能夠看到文件的下載地址,把這個地址複製下來,取消掉瀏覽器的下載
  • 直接在 linux 裏面下載
  • 通常下載文件統一保存在一個固定的目錄方便管理
  • 這裏使用 /usr/local/src/ 目錄做爲下載文件的目錄
  • 首先 cd 進入 /usr/local/src/ 目錄
  • 如圖,使用 wget + 文件下載地址
  • 這樣系統就會自動下載文件到當前所在目錄裏面
  • 如圖,下載完成後,紅色的文件就是下載回來的程序包
  • 如圖,下載好程序包後,使用命令 tar zxvf 文件名稱
  • 下載回來的程序包都是壓縮包,須要解壓縮
  • 這個程序包後綴名是 .tar.gz ,因此可使用 tar zxvf 文件名 來解壓縮
  • 解壓完成後,查看src目錄
  • 能夠看到多了一個跟壓縮文件同名的目錄,藍色顯示的就是目錄
  • 這個同名目錄就是解壓出來的文件存放的地方
  • 上圖是三種不一樣後綴名的壓縮文件的解壓方法
  • 解壓三種格式的文件,選項分別是 z,j,J
  • z 對應 gz壓縮,j 對應 bz2壓縮,J 對應 xz壓縮
  • 還可使用單獨的工具解壓或者壓縮這三種格式的文件
  • 如圖,gzip 1.txt 能夠把 1.txt 壓縮成 gz文件
  • 而後 gzip -d 1.txt.gz 能夠解壓縮 1.txt.gz 文件
  • 下面的 bzip 對應 bz2文件,xz 對應 xz文件
  • tar 是一個打包的工具,可是使用上面的選項,也能夠擁有壓縮和解壓縮的功能
  • 壓縮是把一個文件經過算法減小體積
  • 打包是把多個小文件打包成爲一個大文件
  • 打包壓縮就是 先把多個文件打包成爲一個文件,而後經過算法壓縮體積
  • 上圖是 壓縮打包 gz格式和bz2格式文件的方法
  • 如圖,解壓文件後,把解壓的文件目錄 mv 移動到 /usr/local/ 目錄下面並更名爲 mysql
  • 之後維護機器,統一把數據庫放在 /usr/local/mysql 目錄下面,方便查找
  • ls /usr/local/mysql 查看一下目錄內的文件,看是否移動成功
  • 如圖,目錄內有這些文件,說明移動成功了
  • 如圖,查看這個文件,能夠查看安裝文檔
  • 如圖,執行上圖命令能夠安裝 mysql
  • 可是直接執行會報錯,由於目錄 /data/mysql 尚未建立,用戶mysql也不存在
  • 因此須要先建立目錄 /data/mysql/
  • 由於目錄 /data/ 和 /data/mysql 都不存在
  • 想建立 /data/mysql/ 須要先建立 /data/ 目錄
  • 使用 -p 選項就能夠把不存在的 /data/ 和 /data/mysql 同時建立
  • p選項就是能夠級聯建立目錄,也就是同時建立多個目錄
  • 如圖,還須要建立一個 mysql 用戶
  • 可是這個用戶跟普通的用戶是不一樣的,這個用戶只是當作一個服務來使用
  • 因此不須要登陸,也不須要家目錄
  • 所以,使用了 -M 選項,就是指定這個用戶不建立家目錄
  • 選項 -s 就是指定這個用戶的shell是 /sbin/nologin 也就是不能登陸的shell
  • 如圖,還須要指定 /data/mysql 目錄的全部者跟所屬組爲 mysql
  • /data/mysql/ 目錄是存放數據庫數據的
  • 如圖,執行初始化安裝命令,出現錯誤,安裝失敗
  • 初始化就是生成一個mysql的庫,沒有這個庫就不能啓動服務
  • 查看上一條命令執行成功仍是失敗,可使用 echo $?
  • 若是返回 0 表明成功
  • 若是返回非 0 的數字,表明執行出了問題
  • 如圖,查看上條命令執行是否成功,返回 1 表示執行失敗
  • 這個命令必須在執行完上條命令後就使用,才能顯示上條命令的執行狀況
  • 看錯誤信息應該跟libaio有關
  • 如圖,安裝 libaio 的兩個包
  • 而後再執行初始化安裝命令
  • 如圖,看信息應該是安裝成功了
  • 可是仍是使用 echo $? 檢測一下執行結果,返回0,表示執行成功
  • 查看 /data/mysql/ 目錄
  • 如圖,能夠看到有這些文件存在,其中有一個目錄叫作 mysql,這個就是主要的庫
  • 如圖,在 /usr/local/mysql/ 目錄內,有一個目錄是 support-files
  • 查看 support-files 目錄的內容,裏面有一個文件 mysql.server
  • 這個文件就是啓動 mysql服務的腳本文件
  • 如圖,把這個mysql.server文件,複製一份到/etc/init.d/目錄並重命名爲 mysqld
  • 而後 mysqld 這個文件還須要編輯一下內容
  • 使用 vi /etc/init.d/mysqld
  • 如圖,進入編輯文件後,往下找到這兩行數據 basedir= 和 datadir=
  • 這兩行數據後面都是空的,須要寫上程序所在的地址和數據庫所在的地址
  • 如圖,basedir= 後面寫 /usr/local/mysql 這個數據庫程序所在的地址
  • datadir= 後面寫 /data/mysql 這個庫文件所在的地址
  • 而後就保存退出
  • 這個 /etc/init.d/mysqld 就是 mysql 服務的啓動腳本

服務管理

  • 除了手動啓動外,還能夠把這個服務添加到系統的服務列表裏面
  • 開啓系統的時候,系統會自動啓動一些服務,好比網絡服務等
  • 早期的centOS 管理系統服務的工具是 chkconfig
  • chkconfig --list 能夠查看系統全部服務
  • 從 centOS7 開始,再也不使用 chkconfig工具管理服務了
  • 而是使用 systemctl list-unit-files 查看系統全部服務
  • 不過centOS7也可使用 chkconfig
  • 如圖,使用 chkconfig --list 查看服務
  • 只看到兩個服務,其它的服務要使用 systemctl list-unit-files 才能看到
  • 如圖,使用 chkconfig --add mysqld 把 mysqld 服務加入到 chkconfig裏面
  • 再查看 chkconfig --list 能夠看到多了 mysqld服務
  • 不過一個服務要加入 chkconfig 有幾個條件須要知足
  • 首先,mysqld文件必須放到 /etc/init.d/目錄下面
  • 而後,mysqld文件的執行權限應該是755,權限不夠的話可能執行不了
  • 如圖,使用 chkconfig mysqld off 就能夠關閉服務
  • 查看服務列表,能夠看到,運行級別 0-6 全都是 關 的狀態
  • 這種狀況下,開機的時候,這個服務就不會被啓動
  • 如圖,使用 chkconfig mysqld on 就能夠把mysqld服務打開
  • 如圖,運行級別 2-5 都是 開 的狀態
  • 這樣開機的時候,mysqld服務就會隨着系統一塊兒開啓
  • 如圖,這是兩種手動啓動服務的方法
  • 第一種是 /etc/init.d/mysqld start
  • 第二種是 service mysqld start
  • 使用第二種方法須要先將服務加入系統的服務列表才行,不過會有一些錯誤

mariadb安裝3

  • 如圖,使用 service mysqld start 啓動mysqld服務,出現錯誤
  • 如圖,複製 systemctl status mysqld.service
  • 在下面執行這條命令
  • 能夠看到更詳細的錯誤信息
  • 看信息,好像是日誌不存在
  • 這裏出現一個新概念,mariadb 的配置文件是 /etc/my.cnf
  • 如圖,這四個位置的地址須要修改
  • 修改成上圖地址
  • datadir 地址爲 /data/mysql
  • socket 地址爲 /tmp/mysql.sock ,socket文件放在tmp目錄
  • log-error 地址爲 /data/mysql/mariadb.log ,這是錯誤日誌的存放地址
  • pid-file 地址爲 /data/mysql/mariadb.pid
  • 而後保存退出
  • 這個配置文件是系統安裝的時候就已經存在了
  • 如圖,安裝linux系統的時候,默認安裝了 5.5.60 版本的 mariadb-libs
  • 因此自帶了 /etc/my.cnf 配置文件,如今直接修改就能夠用了
  • 如圖,配置好配置文件後,再執行 service mysqld start 就成功了
  • 沒有顯示錯誤信息
  • 使用上圖命令查看,是否有 mysql 的進程,肯定mysql服務是否已經啓動
  • 如圖,還可使用 netstat -lnp 查看網絡端口
  • 3306 就是mysqld 服務的端口,這裏有這個端口說明服務啓動了
  • 如圖,tmp目錄下的 mysql.sock 文件是一個 socket文件
  • socket文件是用來通訊的,ls -l 查看,文件開頭是 s 表示這是socket類型文件
  • 如圖,使用 /usr/local/mysql/bin/mysql -u root 就能夠啓動 mariadb的終端
  • 能夠在這個終端裏面對 mariadb進行操做
  • 可是每次使用都須要輸入 /usr/local/mysql/bin/mysql 太長了,很麻煩
  • 有沒有簡單的方式使用呢
  • 如圖,能夠把/usr/local/mysql/bin/mysql 作一個軟連接到 /usr/bin/ 目錄
  • 並命名爲 mysql
  • ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
  • 這樣就把/usr/local/mysql/bin/mysql軟連接到 /usr/bin/mysql 了
  • /usr/bin/mysql 就是一個軟連接文件
  • 而後直接使用 mysql -u root 就能夠進入終端了
  • 若是不想要這個軟連接文件了,可使用 rm -f /usr/bin/mysql 刪除
  • 這樣直接使用 mysql 命令就再也不生效了
  • 如圖,echo $PATH 能夠查看系統環境變量
  • 環境變量就是一些目錄,用冒號 : 分隔,如圖
  • 在這些目錄裏面的命令文件能夠直接使用
  • 能夠看到,環境變量裏面有 /usr/bin 這個目錄
  • 剛纔把/usr/local/mysql/bin/mysql這個文件的軟連接文件放在 /usr/bin目錄裏面
  • 能夠直接使用,就是由於/usr/bin 是環境變量裏面的目錄
  • 在 shell 裏面直接輸入命令,系統會在環境變量的目錄裏面尋找是否有這個命令文件
  • 若是有救執行,沒有就提示沒有這個文件
  • 因此把/usr/local/mysql/bin/mysql的軟連接放到 /usr/bin裏面
  • 就能夠直接運行 mysql 命令了
  • 環境變量是可變的,也能夠添加其它目錄進去環境變量裏面
  • 這樣別的目錄裏面的文件也能夠被直接執行了
  • 如圖,使用 PATH=$PATH:/usr/local/mysql/bin
  • 就能夠把 /usr/local/mysql/bin 目錄添加進入環境變量
  • 這樣也能夠直接輸入 mysql 命令進入終端
  • 由於系統會搜索環境變量的目錄是否有這個文件存在
  • 而 /usr/local/mysql/bin 目錄在環境變量裏面
  • 可是有一個問題,這樣修改環境變量以後,若是斷開鏈接或者系統重啓
  • 環境變量就會恢復默認的狀態
  • 若是想永久改變環境變量,須要修改配置文件
  • 使用上圖命令,把 export PATH=$PATH:/usr/local/mysql/bin 這行信息
  • 追加到 /etc/profile 文件裏面,這個就是環境變量配置文件
  • 這樣就算系統重啓或者斷開終端,環境變量也不會改變了
  • 修改配置文件後,要配置文件生效
  • 能夠斷開終端,從新鏈接,或者使用 source /etc/profile 從新加載
  • 如圖,能夠設置登陸密碼
  • mysqladmin -uroot password "aminglinux"
  • 意思是對用戶 root 設置登陸密碼 aminglinux
  • 這樣以 root 用戶登陸的時候,就須要輸入密碼才能登陸
  • 如圖,設置密碼後,使用 mysql -uroot 登陸,出現錯誤信息
  • 再使用 mysql -uroot -paminglinux 就登陸成功了
  • 如圖,mysql -uroot -paminglinux -S/tmp/mysql.sock 也能夠鏈接 mysql
  • 就是使用 mysql.sock 鏈接數據庫
  • 若是數據庫在別的機器上面,須要遠程鏈接
  • 如圖,可使用 mysql -uroot -paminglinux -h192.168.222.128 -P3306
  • 就是 ip地址 + 端口號,不過權限不夠的話是連不上去的
相關文章
相關標籤/搜索