Linux系統下,MySQL是最受歡迎的一個關聯式資料庫管理系統,它具有高效穩定、安全可靠、易於使用等特點。但是,如果您想要進行一定的客製化和最佳化,原始碼安裝將成為一個不錯的選擇。以下是詳細的源碼安裝步驟。
在開始原始碼安裝MySQL之前,需要先進行幾項準備工作。
首先,需要下載MySQL的源碼包。可以從MySQL官網下載最新版本的源碼包,或從鏡像網站下載。
然後,需要安裝一些必要的軟體依賴,以免在安裝MySQL過程中發生錯誤。建議安裝以下軟體包和開發工具:
sudo apt-get update sudo apt-get install build-essential sudo apt-get install cmake sudo apt-get build-dep mysql-server
#在編譯安裝MySQL之前,需要先解壓縮原始碼包,進入MySQL原始碼目錄中執行下列指令:
tar -zxvf mysql-5.7.17.tar.gz cd mysql-5.7.17
然後,使用CMake編譯MySQL原始碼。這裡我們選擇將MySQL安裝在/usr/local/mysql目錄下,執行下列指令:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock -DMYSQL_TCP_PORT=3306 -DWITH_SSL=bundled -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DEXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=0 -DWITH_DEBUG=0 .
其中,參數意義如下:
-DCMAKE_INSTALL_PREFIX:指定MySQL的安裝路徑。
-DMYSQL_DATADIR:指定MySQL資料庫的資料目錄。
-DSYSCONFDIR:指定MySQL的設定檔路徑。
-DWITH_MYISAM_STORAGE_ENGINE:開啟MyISAM儲存引擎。
-DWITH_INNOBASE_STORAGE_ENGINE:開啟InnoDB儲存引擎。
-DWITH_ARCHIVE_STORAGE_ENGINE:開啟Archive儲存引擎。
-DWITH_BLACKHOLE_STORAGE_ENGINE:開啟Blackhole儲存引擎。
-DENABLED_LOCAL_INFILE:開啟從本機匯入資料的功能。
-DENABLE_DTRACE:停用DTrace功能。
-DDEFAULT_CHARSET:設定MySQL的預設字元集。
-DDEFAULT_COLLATION:設定MySQL的預設排序規則。
-DMYSQL_UNIX_ADDR:指定MySQL的Unix套接字檔案路徑。
-DMYSQL_TCP_PORT:指定MySQL監聽的TCP埠號碼。
-DWITH_SSL:開啟SSL支援。
-DWITH_ZLIB:開啟Zlib支援。
-DEXTRA_CHARSETS:啟用額外的字元集。
-DWITH_READLINE:開啟Readline支援。
-DWITH_EMBEDDED_SERVER:停用內嵌伺服器。
-DWITH_DEBUG:關閉偵錯模式。
注意,如果CMake指令執行過程中出現錯誤,請檢查是否缺少依賴套件。
執行完CMake指令後,執行以下指令進行編譯:
make
編譯完成後,執行以下指令進行安裝:
sudo make install
安裝過程中需要輸入Root使用者的密碼。
MySQL安裝完成後,還需要進行必要的設定。首先,執行下列指令建立MySQL使用者和群組:
sudo groupadd mysql sudo useradd -r -g mysql mysql
然後,執行下列指令初始化MySQL資料:
cd /usr/local/mysql sudo chown -R mysql:mysql . sudo bin/mysqld --initialize-insecure --user=mysql
其中,--initialize-insecure參數表示使用空密碼初始化MySQL資料。
接下來,啟動MySQL服務,並設定Root使用者密碼:
sudo bin/mysqld_safe --user=mysql & sudo /usr/local/mysql/bin/mysqladmin -u root password 'newpassword'
這裡的‘newpassword’指你想要設定的密碼。請注意密碼強度和安全性。
安裝與設定MySQL完成後,我們需要啟動MySQL服務:
sudo /etc/init.d/mysql start
可以使用下列指令檢查MySQL服務是否已經啟動:
sudo netstat -tap | grep mysql
如果能看到類似以下的輸出,則表示MySQL服務已經啟動:
tcp 0 0 localhost:mysql *:* LISTEN 8537/mysqld
/usr/local/mysql/bin/mysql -u root -p
SELECT VERSION();
以上是linux mysql原始碼安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!