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

2)然后安裝光盤自帶的ncurses-devel包,ncurses是字符終端下屏幕控制的基本庫。可能很多新開發的程序已經不再使用。假如要編譯一些老的程序,還是會經常碰到,在TTY下登錄主機上MySQL需要。如下圖:

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

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

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

3)初始化數據庫
為了能夠正常使用MySQL數據庫系統,應以運行用戶mysql的身份執行初始化腳本mysql_install_db,指定數據存放目錄等。如下圖:

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

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

這樣,以后就可以使用systemctl工具來控制MySQL數據庫服務了。若添加失敗,可以使用“/usr/local/mysql/bin/mysqld.sh start/stop/restart”命令開啟/關閉/重啟數據庫。結果都一樣。
MySQL服務器默認通過TCP3306端口提供服務。通過編輯/etc/my.cnf配置文件中[mysqld]配置端的"port=3306"行,可以更改監聽端口,后面我們在詳細述說,還有如何使用數據庫、如何對數據庫用戶授權等。
下面是我在做實驗時的報錯:
初始化報錯,如下圖:

解決方法 :安裝autoconf庫
輸入命令
- #yum-y install autoconf //此包安裝時會安裝Data:Dumper模塊,系統盤做yum源就可以,系統盤有
安裝autoconf庫,再運行就ok了