MariaDB的二進制包安裝方法
軟件包的安裝方式有三種:源碼包安裝、二進制包安裝、rpm包安裝。這三種安裝方法都各有優劣。RPM安裝:適合小環境,核心功能都具備,快速搭建環境,但它的版本一般都不會太高;二進制安裝:它是發布出來時預先編譯過的,既避免了編譯的麻煩,又提供了增強功能;編譯安裝:它的要求高,要有編譯環境,編譯時可指定幾乎所有選項,可滿足你的所有選擇。
今天就來講講二進制方式的安裝,它即解決了版本的問題,又不會像源碼編譯一樣需要我們花費大量的時間去編譯。對於二進制格式的包,我們只需要解壓縮後就能夠使用數據庫,這聽起來很容易,但必須要註意一些問題。二進制格式的程序包是已經編譯好的二進制程序,所以裏邊有很多腳本都是在固定的路徑下執行的,所以安裝過程中我們必須按照它所給的安裝信息來安裝。而安裝MariaDB它的安裝路徑必須在/usr/local目錄下,並且目錄名稱必須叫mysql。如果不這樣設置,一些腳本無法運行,更別提能成功安裝了。
安裝步驟:
1、下載二進制包
2、解壓到安裝目錄,查看內置的安裝信息
3、準備配置文件
4、準備數據庫
5、準備日誌文件
6、準備服務腳本
7、安全初始化
安裝過程:
1、下載二進制包。下載地址為:https://downloads.mariadb.org/
我這裏選擇最新版本的mariadb-10.2.8穩定版,進入後下載適用於64位操作系統的Linux x86_64版本
這個裏面有針對各個版本的不同的二進制包,我選擇第二個,它是一個Linux裏的通用安裝包。下面的一個是針對systemd系統的安裝包,最後一個安裝包需要你的glibc庫版本在2.14以上。
2、解壓到安裝目錄下
下載完成後上傳到Linux裏,然後解壓
tar -xvf mariadb-10.2.8-linux-x86_64.tar.gz
然後進入目錄查看裏面給定的安裝信息
cat INSTALL-BINARY
根據安裝裏的提醒我們去準備配置文件
3、準備配置文件
根據文件我們要創建一個mysql的用戶,它可以對以後的mysql數據庫進行管理,同時我們還可以指定mysql的家目錄,這樣以後它的存儲數據就可以獨立出來放置了,同時指明shell類型為nologin
useradd -r -m -d /app/date -s /sbin/nologin mysql
移動解壓的目錄到/usr/local/下,同時還可以創建一個mysql的軟連接,這樣可以方便以後的版本更新
mv mariadb-10.2.8-linux-x86_64 /usr/local
cd /usr/local ; ln -sv mariadb-10.2.8-linux-x86_64 mysql
然後要把這個目錄的管理權限給mysql管理
chown -R root:mysql mysql/
提供mysql的配置文件,解壓的包裏內置了幾個提供的配置文件。放置在support-files這個目錄裏,我們可以根據你要創建的數據的大小來選擇用哪一個配置文件
這裏就選擇最大的huge配置文件來進行復制了,並把它放入指定的目錄下,以避免可能和舊版本的沖突
mkdir /etc/mysql/
cp support-files/my-huge.cnf /etc/mysql/my.cnf
編寫裏面的配置文件
vim /etc/mysql/my.cnf
在mysqld的後面加入有註釋的這三行,目的是為了指明數據存放位置和方便以後對表的管理。
4、準備數據庫文件
./scripts/mysql_install_db --datadir=/app/data --user=mysql
執行後它會給一些警報信息,當然這些警報信息是可以忽略的
5、準備日誌文件
準備好日誌文件,這樣可以有利於以後的排錯。當然由於這個服務是mysql管理的,而mysql是對/var/log/這個目錄沒有寫權限的,所以這裏我們還需要給mysql一個ACL的特殊權限才行
mkdir /var/log/mariadb/ MariaDB的默認存放目錄就為mariadb,所以就創建這樣一個存放MariaDB日誌的目錄
touch /var/log/mariadb/mariadb.log 再創建一個放日誌的空文件
setfacl -R -m u:mysql:rwx /var/log/mariadb/mariadb.log 給予mysql一個ACL的特殊權限,使它可以讀寫日誌
6、準備服務腳本
到這裏MariaDB二進制包已經安裝完畢了。我們現在就要把這個服務啟動起來,所以就需要為這個服務準備啟動腳本。當然這個腳本也在軟件包裏有提供,我們只需要復制出來就可以使用了。這個腳本也是放置在support-files這個目錄裏,它的裏面有一個mysql.server的文件就是提供的服務腳本
cp support-files/mysql.server /etc/init.d/mysql 復制到/etc/init.d/放置服務腳本的目錄下
chkconfig --add mysql 把這個服務加入到服務列表中去
chkconfig on 把這個服務設定為開機自啟,默認為2、3、4、5這三種模式下開機會自動啟動
service mysql start 打開這個服務
做完這些後我們就可以進入數據庫了,但是它的命令路徑不在默認的PATH路徑下,而是在/usr/local/mysql/bin/目錄下,所以我們每次要進入數據庫還需要敲這長長的一串命令。這樣太麻煩
所以我們就把這個命令的路徑寫入到PATH變量裏面去,省的以後敲命令麻煩
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh 使這個配置文件及時生效
添加完成後就可以使用 mysql 這個命令來直接進入數據庫了
7、安全初始化
此時myaql這個服務以經開啟了,但是它現在並不安全。因為現在任何用戶都可以訪問這個數據庫,所以我們要給這個數據庫設置管理用戶,設定訪問權限。
下面這個xxxx用戶是不需要密碼就可以進入的:
所以為了安全,我們要對數據庫進行安全初始化設置。這個命令在mysql的命令包裏是自帶的所以我們只需要去執行這條命令就可初始化了
從上圖可以看到安全初始化後,匿名賬號已經登錄不進去了。現在管理員就可以自由的分配用戶來進行對數據庫的管理了。
管理員進入數據庫進行查看:
當然這樣純字符的管理並不是那麽的好看,所以它還可以結合HTTP和PHP這兩個服務來進行網頁上的圖形化管理,這就是lamp組合。那樣將會更容易看懂,更容易操作。當然這裏就先不介紹那麽多了
MariaDB的二進制包安裝方法