MySQL數(shù)據(jù)庫系統(tǒng)(安裝)
前言:Apache HTTP Server 作為優(yōu)秀的Web服務(wù)器軟件,提供了面向用戶的前端應(yīng)用功能。而在實(shí)際的企業(yè)網(wǎng)站平臺(tái)中,為了提供更豐富、更強(qiáng)大的Web應(yīng)用功能,往往還需要有后臺(tái)數(shù)據(jù)庫、網(wǎng)頁編程語言等多種角色的支持。
一、MySQL的編譯安裝
MySQL是一個(gè)真正的多線程、多用戶的SQL數(shù)據(jù)庫服務(wù),憑借其高性能、高可靠和易于使用的特性,稱為服務(wù)器領(lǐng)域中***的開源數(shù)據(jù)庫系統(tǒng)。在2008年以前,MySQL項(xiàng)目由MySQL AB公司進(jìn)行開發(fā)、發(fā)布和支持,之后經(jīng)歷Sun公司收購MySQL AB公司,Oracle公司收購Sun公司的過程,目前MySQL項(xiàng)目由Oracle公司負(fù)責(zé)運(yùn)營(yíng)和維護(hù)。
為了確保MySQL數(shù)據(jù)庫功能的完整性、可定制性,一般采用源碼編譯的方式安裝MySQL數(shù)據(jù)庫系統(tǒng)。MySQL 5.X 系列版本的使用最為廣泛,該版本的穩(wěn)定性、兼容性都不錯(cuò),下面將以mysql-5.6.36.tar.gz為例。(源碼包官網(wǎng)可以下載)
1.準(zhǔn)備工作
1)為了避免發(fā)生端口沖突、程序沖突等現(xiàn)象,建議先查詢MySQL軟件的安裝情況,確認(rèn)沒有使用RPM方式安裝mysql-server、mysql軟件包,否則建議將其卸載。

2)然后安裝光盤自帶的ncurses-devel包,ncurses是字符終端下屏幕控制的基本庫??赡芎芏嘈麻_發(fā)的程序已經(jīng)不再使用。假如要編譯一些老的程序,還是會(huì)經(jīng)常碰到,在TTY下登錄主機(jī)上MySQL需要。如下圖:

3)MySQL 5.X 系列版本需要cmake編譯安裝,所以先安裝cmake包(從http://www.cmake.org官網(wǎng)可以下載源碼包)。如下圖:

2.創(chuàng)建運(yùn)行用戶
為了加強(qiáng)數(shù)據(jù)庫服務(wù)的權(quán)限控制,建議使用專門的運(yùn)行用戶,如mysql。此用戶不需要登錄到系統(tǒng),可以不創(chuàng)建宿主文件夾。如下:
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql
3.解包、配置、編譯并安裝
將下載的mysql源碼包解壓,并切換到源碼目錄。從MySQL 5.5 起,mysql源碼安裝開始使用cmake了,設(shè)置源碼編譯配置腳本.如下圖:

上圖配置命令中,各選項(xiàng)的含義如下:
- -DCMAKE_INSTALL_PREFIX:指定將MySQL數(shù)據(jù)庫程序安裝到某目錄下。
- -DSYSCONFDIR:指定初始化參數(shù)文件目錄。
- -DDEFAULT_CHARSET:指定默認(rèn)使用的字符集編碼,如:utf-8
- -DDEFAULT_COLLATION:指定默認(rèn)使用的字符集校對(duì)規(guī)則,utf8_general_ci是適用于utf-8字符集的通用規(guī)則。
- -DWITH_EXTRA_CHARSETS:指定額外支持的其他字符集編碼。
配置項(xiàng)會(huì)根據(jù)實(shí)際環(huán)境而改變,并不是定死的,所以,當(dāng)需要不同需求的時(shí)候可根據(jù)多方面查找,隨機(jī)應(yīng)變吧。
4.安裝后的其他調(diào)整
1)對(duì)數(shù)據(jù)庫目錄進(jìn)行權(quán)限設(shè)置,如下:
[root@localhost ~]# chown -R mysql:mysql /usr/local/mysql
2)建立配置文件
CentOS 7系統(tǒng)下默認(rèn)支持MariaDB數(shù)據(jù)庫,因此系統(tǒng)默認(rèn)的/etc/my.cnf配置文件中是MariaDB的配置文件。而在MySQL源碼目錄中support-file文件夾下,提供了MySQL數(shù)據(jù)庫默認(rèn)的樣本配置文件my-default.cnf文件,在啟動(dòng)MySQL數(shù)據(jù)庫服務(wù)之前,需要先將原有的my.cnf文件替換為MySQL提供的配置文件內(nèi)容。如下圖:

3)初始化數(shù)據(jù)庫
為了能夠正常使用MySQL數(shù)據(jù)庫系統(tǒng),應(yīng)以運(yùn)行用戶mysql的身份執(zhí)行初始化腳本mysql_install_db,指定數(shù)據(jù)存放目錄等。如下圖:

4)設(shè)置環(huán)境變量
為了方便在任何目錄下使用mysql命令,需要在/etc/profile設(shè)置環(huán)境變量。(/etc/profile這個(gè)文件是每個(gè)用戶登錄時(shí)都會(huì)運(yùn)行的環(huán)境變量設(shè)置)如下圖:

也可以用vim編輯,結(jié)果都一樣。
5.添加mysql為系統(tǒng)服務(wù)
若希望添加mysqld系統(tǒng)服務(wù),以便通過systemctl進(jìn)行管理,可以直接使用源碼包中提供的服務(wù)腳本。找到support-files文件夾下的mysql.server腳本文件,將其復(fù)制到/usr/local/mysql/bin/目錄下,并改名為mysqld.sh,然后創(chuàng)建mysql系統(tǒng)服務(wù)的配置文件/usr/lib/systemd/system/mysqld.server,將其添加為mysqld系統(tǒng)服務(wù)。如下圖:

這樣,以后就可以使用systemctl工具來控制MySQL數(shù)據(jù)庫服務(wù)了。若添加失敗,可以使用“/usr/local/mysql/bin/mysqld.sh start/stop/restart”命令開啟/關(guān)閉/重啟數(shù)據(jù)庫。結(jié)果都一樣。
MySQL服務(wù)器默認(rèn)通過TCP3306端口提供服務(wù)。通過編輯/etc/my.cnf配置文件中[mysqld]配置端的"port=3306"行,可以更改監(jiān)聽端口,后面我們?cè)谠敿?xì)述說,還有如何使用數(shù)據(jù)庫、如何對(duì)數(shù)據(jù)庫用戶授權(quán)等。
下面是我在做實(shí)驗(yàn)時(shí)的報(bào)錯(cuò):
初始化報(bào)錯(cuò),如下圖:

解決方法 :安裝autoconf庫
輸入命令
- #yum-y install autoconf //此包安裝時(shí)會(huì)安裝Data:Dumper模塊,系統(tǒng)盤做yum源就可以,系統(tǒng)盤有
安裝autoconf庫,再運(yùn)行就ok了