您好,登錄后才能下訂單哦!
11.1 LAMP架構介紹
LAMP=Linux+Apache(hettpd)+MySQL+PHP
Linux操作系統
Apache提供web的服務軟件,真正名字叫httpd
MySQL存儲軟件,數據、字符串等等
PHP腳本語言,和shell類似,但比shell復雜。以做網站為主。
PHP網站(Google、淘寶、百度、51cto博客、猿課論壇)
三個角色可以在一臺機器、也可以分開
(httpd和PHP要在一起,MySQL可以單獨一臺機器)
LAMP架構介紹
過程:
PHP與Apache是在一起的,因為PHP是以模塊的形式和APACHE結合在一起的。
但是Apache不能直接與MySQL相互打交道,他只能通過PHP模塊去MySQL里面拿數據。
拿到數據后,PHP會把結果,反饋給Apache,Apache再把數據反饋給用戶。
PHP與MySQL相連取數據的行為稱為動態請求。
例如,登錄猿課論壇的操作為例子。
登錄網站(ask.apelearn.com),鍵入賬號密碼點擊登錄進行認證,登錄這個請求已經交給Apache,然后Apache去檢查此請求是動態還是靜態的。因為登錄這個行為需要把登錄的信息提交給Apache,Apache拿到賬號密碼之后會進入數據庫進行匹配,看看輸入的對還是錯(此過程是運用了PHP與MySQL打交道的過程,首先在MySQL查到用戶的賬號密碼,然后PHP進行對比,如果正確,Apache會把登錄狀態反饋給用戶,這就是動態請求)。
靜態請求
訪問網站,網站顯示的logo,這個logo的顯示也是通過Apache去請求的,Apache拿到logo圖片發現該圖片不存在MySQL里面,直接在靜態文件里面(Linux服務器上某一個目錄)拿到了這個圖片的文件,拿到后直接反饋給用戶,這個過程并沒有與MySQL打交道,這就是靜態請求。
11.2 MySQL_MariaDB介紹
Oracle
也是同樣做數據庫的,這個數據庫比較大型,像銀行,金融的一些企業。
Oracle會專門裝在一臺小型機上,這臺小型機會安裝Unix。這臺小型機是太超級計算機(幾百個CPU,上T的內存等等超級配置)
MySQL官網https://www.mysql.com 最新版本5.7GA/8.0DMR
MySQL5.6變化比較大,5.7性能上有很大提升
Mariadb為MySQL的一個分支,官網https://mariadb.com/最新版本10.2
MariaDB主要由SkySQL公司(現更名為MariaDB公司)維護,SkySQL公司由MySQL原作者帶領
部分原班人馬創立.
MySQL原作者帶領大部分原班人馬創立.
Mariadb5.5版本對應MySQL的5.5,10.0對應MySQL5.6
Community 社區版本,Enterprise 企業版,
GA(Generally Available)指通用版本,在生產環境中用的,一般使用此項
DMR(Development Milestone Release)開發里程碑發布版,
RC(Release Candidate)發行候選版本,
Beta開放測試版本,
Alpha內部測試版本
11.3-11.5 MySQL安裝
MySQL的幾個常用安裝包:rpm、源碼、二進制免編譯
先進入目錄 /usr/local/src(以后把所有軟件包都放在這個目錄下面)
cd /usr/local/src
下載MySQL 5.6安裝包,一般都下載x64
[root@centos7-01 src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
解壓MySQL的安裝包
[root@centos7-01 src]# tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
把解壓完后的mysql的目錄移動并改名 /usr/local/mysql
[root@centos7-01 src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
[root@centos7-01 src]# cd !$
cd /usr/local/mysql
[root@centos7-01 mysql]# ls
bin COPYING data docs include lib man mysql-test README scripts share sql-bench support-files
進入目錄
[root@centos7-01 mysql]# cd /usr/local/mysql/
建立MySQL用戶,因為啟動MySQL需要該用戶。
[root@centos7-01 mysql]# useradd mysql
建立datadir
#mkdir -p /data/mysql
更改權限
# chown -R mysql:mysql /data/mysql
--user指定用戶,--datedir指定目錄,
[root@centos7-01 mysql]# ./scripts/mysql_install_db --user=mysql --datedir=/data/mysql
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
-*
如果發現安裝出錯,可以先利用grep查找相關詞的安裝包,如果拿不準安裝哪個包的時候可以全部安裝。大意就是安裝一個后再測試,一個一個來。
(其實第一個就是我們要安裝的包。)
[root@centos7-01 mysql]# yum list |grep perl |grep -i Dumper
perl-Data-Dumper.x86_64 2.145-3.el7 base
perl-Data-Dumper-Concise.noarch 2.020-6.el7 epel
perl-Data-Dumper-Names.noarch 0.03-17.el7 epel
perl-XML-Dumper.noarch 0.81-17.el7 base
[root@centos7-01 mysql]# yum install -y perl-Data-Dumper
安裝 perl-Data-Dumper完成后,再測試。
[root@centos7-01 mysql]# ./scripts/mysql_install_db --user=mysql --datedir=/data/mysql
利用echo $?檢查執行結果是否成功 0成功 1以上失敗
[root@centos7-01 mysql]# echo $?
0
至此,初始化完成。
拷貝mysql的配置文件并改名my.cnf(mysql默認識別此命名)
cp support-files/my-default.cnf /etc/my.cnf
系統默認已經有/etc/my.cnf
[root@Centos7-01 mysql]# ls /etc/my.cnf
/etc/my.cnf
[root@Centos7-01 mysql]# rpm -qf /etc/my.cnf
mariadb-libs-5.5.56-2.el7.x86_64
如果不復制support-files/my-default.cnf的話,就直接修改my.cnf里面datadir與socket的路徑
datadir=/data/mysql
socket=/tmp/mysql.sock
一定要注釋掉日志報錯與pid報錯,因為他們的目錄不存在,會產生報錯。
復制腳本文件到指定目錄并改名/etc/init.d/mysqld
#cp support-files/mysql.server /etc/init.d/mysqld
#vi /etc/init.d/mysqld
basedir=/usr/local/mysqlmysql的目錄
datadir=/data/mysqlmysql data的目錄
[root@Centos7-01 mysql]# chmod 755 /etc/init.d/mysqld
把mysqld加入開機服務列表
[root@Centos7-01 mysql]# chkconfig --add mysqld
[root@Centos7-01 mysql]# chkconfig --list
注:該輸出結果只顯示 SysV 服務,并不包含
原生 systemd 服務。SysV 配置數據
可能被原生 systemd 配置覆蓋。
要列出 systemd 服務,請執行 'systemctl list-unit-files'。
查看在具體 target 啟用的服務請執行
'systemctl list-dependencies [target]'。
mysqld 0:關1:關2:開3:開4:開5:開6:關
netconsole 0:關1:關2:關3:關4:關5:關6:關
network 0:關1:關2:開3:開4:開5:開6:關
/etc/init.d/mysqld start啟動服務,同樣下面方法也是一樣
[root@Centos7-01 mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/Centos7-01.err'.
SUCCESS!
再檢查進程與監聽端口。
#ps aux |grep myslqd
#netstat -lntp
另一種方法啟動服務,指定目標,更詳細。
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --data/mysql &
停止服務利用killall mysqld (這種比較安全)
如果發現服務等了好久也停不了 不要用kill -9去殺 否則會導致數據丟失或損壞 這時候唯有等到結束為止。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。