LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

一、MySQL/Mariadb概述

MySQL是由my sql公司於1995年開發的關係型數據庫管理軟件,mysql開發後多次經過版本更替,最新的是5.7GA/8.0DMR,my sql公司自身也經歷了兩次收購,首先是被sun公司收購,然後被Oracle收購,所以目前MySQL屬於Oracle旗下的商用軟件。

2009年,MySQL的一位原作者與部分MySQL的開發者開發了Mariadb。其中Mariadb5.5對應了MySQL5.5,10.0對應了5.6。

二、MySQL安裝

安裝MySQL、Mariadb、Mangodb、Nagios、等等業務軟件的方式一般有三種,yum(rpm包)、源碼安裝(就是安裝中要make、make install)、二進制免安裝包(相當於windows下的綠色軟件包)。這裏我們將學習安裝MySQL的二進制免編譯包,實際工作中推薦這種方式。

1、下載MySQL的二進制包

LANG=en_US.UTF-8 #把語言暫時切換爲英語,方便安裝時排錯
cd /usr/local/src
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz #下載完成後最好用7zip等工具測試一下包完整性。

這裏我們複習一下路徑知識
/usr:系統級的目錄,可以理解爲C:/Windows/,/usr/lib理解爲C:/Windows/System32。
/usr/local:用戶級的程序目錄,可以理解爲C:/Progrem Files/。用戶自己編譯的軟件默認會安裝到這個目錄下。
/opt:用戶級的程序目錄,可以理解爲D:/Software,opt有可選的意思,這裏可以用於放置第三方大型軟件(遊戲),當你不需要時,直接rm -rf掉即可。
源碼放哪裏?
/usr/src:系統級的源碼目錄。
/usr/local/src:用戶級的源碼目錄。

2、解壓壓縮包

tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

3、把解壓好的程序目錄夾放到 /usr/local/路徑下,並改名叫mysql/

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

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

注意,這步處理完後cd到這個目錄下看看是不是有相關的子文件夾,有時候可能mysql文件夾已經存在了,你再mv,就把剛纔解壓出來的東東給全部移到文件下了,等下實驗時就會出錯。
LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

4、創建mysql用戶與/data/目錄

useradd mysql
mkdir /data/

5、設定MySQL的用戶和路徑

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

執行這一步的時候會出錯,這裏補充錯誤處理方法
a、用yum命令查看一下有沒有哪個rpm包提供上述程序

yum list | grep perl |grep -i dumper

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐
b、上bing、google搜前人的解決方法。

c、這裏我們需要安裝第一個包“perl-Data-Dumper.x86_64”

yum install -y perl-Data-Dumper.x86_64

然後我們再執行設定命令

還是出錯

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

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐
這裏是缺少libaio庫文件

a、再來看看

yum list |grep libaio

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

b、把要的包裝上

yum install -y libaio*

然後我們再執行設定命令

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

開始跳一大堆字符。要安裝半分鐘。
記不記得前面安裝httpd時的echo $?

echo $?

馬上執行echo $?命令,必須在執行上一條設定命令後馬上執行,返回值是0就ok了。
LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

6、拷貝配置文件和啓動腳本並進行設置

cp -v support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf ##修改my.cnf中的basedir和datadir

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

cp -v support-files/mysql.server /etc/init.d/mysqld
vim /etc/init.d/mysqld #定義basedir和datadir
chmod 755 /etc/init.d/mysqld

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

7、啓動和關閉MySQL

/etc/init.d/mysqld start #通過啓動腳本啓動mysql
chkconfig --add mysqld
/bin/sh /usr/local/mysql//bin/mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysql/ & #通過程序方式啓動mysql,用於無法通過init.d腳本啓動mysql時。
ps qux |grep mysqld
netstat -lntp

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

關閉mysql

/etc/init.d/mysqld stop
killall mysql #需要先yum安裝psmisc

補充知識:實際工作中如果數據庫已經啓動了那麼最好用killall命令關閉數據庫,關閉時一定要等到系統恢復響應時再進行其他操作,不然很有可能丟數據甚至把庫損壞,後果很嚴重。
補充一個數據庫引擎知識。
MySQL存儲引擎--MyISAM與InnoDB區別

三、Mariadb安裝

1、下載Mariadb的源碼包

cd /usr/local/src #依舊在該目錄下操作,建議以後下載的程序二進制編譯包都放在這裏
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 #國內大學的mariadb鏡像,比直接到官網下快。

2、解壓縮源碼包

tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz

3、移動壓縮包到/usr/local/下並改名爲mariadb

mv mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz/ /usr/local/mariadb
cd /usr/local/mariadb

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

4、在系統中創建mysql用戶與/data/目錄

useradd mysql
mkdir /data/

5、執行設定命令安裝程序

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

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

ls /data/mariadb

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

6、編輯配置文件

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

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

7、編輯啓動文件

cp support-files/mysql.server /etc/init.d/mariadb
vi /etc/init.d/mariadb

basedir=/usr/local/mariadb
datadir=/data/mariadb
conf=/usr/local/mariadb/my.cnf

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

*case "$mode" in
'start')
Start daemon
...

$bindir/mysqldsafe --defaults-file="$conf" --datadir="$datadir" --pid-file="$mysqldpidfilepath" "$@" & waitforready; returnvalue=$?*

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

8、啓動mariadb

/etc/init.d/mariadb start
ps aux |grep mariadb

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

9、關閉mariadb

/etc/init.d/mariadb stop
killall mariadb

LAMP+LNMP(二) MySQL/Mariadb概述與安裝實踐

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章