LAMP(1)介紹、Mysql_MariaDB、Mysql安裝、Mysql_MariaDB安裝
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安裝