1. 程式人生 > >LAMP(1)介紹、Mysql_MariaDB、Mysql安裝、Mysql_MariaDB安裝

LAMP(1)介紹、Mysql_MariaDB、Mysql安裝、Mysql_MariaDB安裝

mysqlMysql_MariaDB

LAMP架構介紹

LAMP :(Linux+Apache(httpd)+MySQL+PHP)

Apache(httpd)+MySQL+PHP何以在同一臺機器,也可以分開(Apache(httpd)+PHP要安裝在一起

技術分享圖片

Apache 要和MySQL打交道需要借助PHP 模塊(MySQL不存圖片、文件等

Apache 直接和靜態文件可以交互



Mysql_MariaDB

技術分享圖片


MySQL安裝

技術分享圖片

rpm :默認安裝在/usr/下,不能定義安裝路徑

二進制免編譯包 :可以指定安裝路徑(以下實驗都是用這種包),這個軟件包是區分平臺的,x86-64:64位,i686、i586:32位。如何查看自己操作系統是多少位的? uname -i

技術分享圖片

(實驗中把軟件包都放在:/usr/local/src/)

(安裝包地址(1)官網 (2)http://r.aminglinux.com )

安裝步驟:

1.下載二進制免編譯包:

技術分享圖片


2.解壓:tar zxvf

技術分享圖片


3.移動目錄到目標路徑目錄下

mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql


4.cd /usr/local/mysql/

ls

技術分享圖片

5.創建mysql用戶,因為啟動mysql需要該用戶

useradd mysql


6.創建/data目錄:(存放數據庫文件)

mkdir /data/

技術分享圖片

7.初始化:

./scripts/mysql_install_db --user=mysql --data=/data/mysql

技術分享圖片

命令執行後報錯,缺少一個包,要安裝再執行上述命令

技術分享圖片

yum 模糊搜索要安裝的包:

mysql]# yum list |grep perl |grep -i dumper

技術分享圖片

(如果不知道是哪個包每個安裝一遍再執行需要執行的命令)

yum install -y perl-Data-Dumper

再執行:

初始化命令

./scripts/mysql_install_db --user=mysql --data=/data/mysql


說明這個命令執行的結果是正確的判斷標準是?\

(1)看文中是否有兩個ok

(2)echo $? 輸出0:正確(在需要驗證的命令執行後立馬輸入echo $?,這個命令是檢驗上一條命令是否正確)



7.復制配置文件 到/etc/下並改名

cp support-files/my-default.cnf /etc/my.cnf

(我們的mysql配置文件就是以.cnf結尾,且固定放在/etc/下,如果放在其他地方下,啟動是需要做指定,不然會默認找/etc/my.cnf)

系統自帶一個/etc/my.cnf文件

技術分享圖片

執行:cp support-files/my-default.cnf /etc/my.cnf

編輯/etc/my.cnf,修改內容

技術分享圖片

(其實也可以用自帶的那個/etc/my.cnf配置文件,同樣修改這兩處地方就行


8.復制啟動腳本:復制到/etc/init.d/mysqld 名為mysqld

cp support-files/mysql.server /etc/init.d/mysqld

編輯:vim /etc/init.d/mysqld

技術分享圖片

設置系統開機時,服務啟動

chkconfig --add mysqld (添加到系統服務列表)

技術分享圖片

( chkconfig mysql on (使其開機就啟動))

(用命令啟動起來:/etc/init.d/mysqld start 或者service mysqld start)

service mysqld start

技術分享圖片

技術分享圖片

service mysqld stop 停止服務

(假如我們沒有把服務的啟動腳本/配置文件放到/etc/init.d/下(或者無服務的啟動腳本/配置文件),那麽我們怎麽去啟動一個服務呢?

命令行方式:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql & (&:命令最後加上表示為把命令執行放在後臺)

技術分享圖片

技術分享圖片

(這裏的!ps : ps aux |grep mysql)


這種啟動只能用 killall mysqld 殺死進程而不能停止

kill cid 或killall 服務名 都可以殺死進程,但是killall+服務名相對安全,不容易丟失數據,它會讓服務的讀寫完成後才真正結束一個服務,而kill cid立馬殺死服務進程




MariaDB安裝

先進入到/usr/local/src

cd /usr/local/src

1.下載二進制免編譯包:

wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz

(官網地址:https://downloads.mariadb.com/ )

2.解壓:

tar zxvf

技術分享圖片

3.移動解壓後的目錄到目標路徑目錄下 /usr/local/ (並改名為mariadb,方便和mysql區分)

mv mariadb-10.2.6-linux-glibc_214-x86_64 /usr/local/mariadb

4.進入到mariadb目錄下

cd /usr/local/mariadb

也是需要創建

(1)創建用戶:mysql

(2)/data/目錄(/data/mariadb)

(這都在執行mysql時創建過了,這裏省略,直接使用)


5.初始化:(datadir: data/mariadb(指定datadir時,mariadb會自動創建),用戶也是mysql)

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mariadb/ --datadir=/data/mariadb

(嘗試不加--basedir=/usr/local/mariadb/,會不會出錯,教程是不加的)

檢測上一條命是否是執行正常:echo $?


6.復制配置文件和復制啟動腳本:

技術分享圖片

可以看到support-files/ 有多個 .cnf文件(small、medium、large),這些文件不同在於它們緩存大小不一樣,可以根據自己機器的大小和實際情況復制相應的配置文件,我實驗是用my-small.cnf

(1)復制配置文件

cp support-files/my-small.cnf /usr/local/mariadb/my.cnf

(正常來說我們的數據庫的配置文件應該復制到/etc/my.cnf下的,但是因為在之前的mysql的配置文件已經是放在這裏了,所以為了區分放到/usr/local/mariadb/my.cnf下

)


(2)復制啟動腳本: cp support-files/mysql.server /etc/init.d/mariadb

7.修改配置文件和啟動腳本:

(1)配置文件(基本不用改)加內容:datadir=/data/mariadb

技術分享圖片

放在mysqld下,添加datadir=/data/mariadb

(2)編輯修改啟動腳本

vim /etc/init.d/mariadb

技術分享圖片

修改成這樣,其中添加的conf是指定我們配置文件的路徑(conf=/usr/local/mariadb.my.cnf)

定義了conf,還需要在往下修改,在啟動命令

技術分享圖片


8.啟動mariadb(啟動前先確定之前的進程mysql是否停止(),否者會出現沖突,因為兩者都是監聽3306端口)

/etc/init.d/mariadb start (或者:service mariadb start)


檢查:ps aux |grep mariadb 、 netstat -ltnp

技術分享圖片

如果我們的機器是沒有安裝到mysql的,僅僅安裝mariaDB,則配置文件也直接復制到/etc/my.cnf下就行,同時也不需要在啟動腳本下定義conf



如果在修改配置文件時,沒有修改過文件:

執行完以上操作,我們會發現在進程中 --datadir是--datadir=/data/mysql調用了mysql的文件,而不是我們定義的--datadir=/data/mariadb

這是因為我們的配置文件中沒用定義這個參數,所以在配置文件中定義一下。

vim /usr/local/mariadb/my.cnf

技術分享圖片

放在mysqld下,添加datadir=/data/mariadb

保存退出後:再重新啟動服務

killall mysqld

/etc/init.d/mariadb start















































LAMP(1)介紹、Mysql_MariaDB、Mysql安裝、Mysql_MariaDB安裝