1. 程式人生 > >Centos7使用編譯原始碼方式安裝mysql

Centos7使用編譯原始碼方式安裝mysql

注:本文參考 最美的痕跡博文:http://www.cnblogs.com/yangjinjin/p/3158226.html

首先,把工具包安裝上


# yum -y install gcc libxml2-dev curl screen \libpng12-dev autoconf libpcre3-dev make bzip2 \libevent-dev patch libjpeg62-dev libcurl4-openssl-dev \libfreetype6-dev g++ libtool libncurses5-dev psmisc lrzsz

安裝前的幾點說明:

1. 所有下載的檔案將儲存在 

/usr/local/software/ 目錄下

2. mysql 將以mysql使用者執行,而且將加入 service 開機自動執行

3. mysql 將被安裝在 /usr/local/mysql/ 目錄下

4. mysql 預設安裝使用utf8 字符集

5. mysql 的資料和日誌檔案儲存在 /var/mysql/ 對應目錄下

6. mysql 的配置檔案保存於/var/mysql/my.cnf

獲得資源包:
# wget http://mysql.he.net/Downloads/MySQL-5.5/mysql-5.5.27.tar.gz
# wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
# wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz
網路狀況不佳的話直接下載完上傳進去吧

安裝 cmake 和 bison

首先可以檢視下是否安裝了 cmake # rpm -qa |grep cmake 

# cd /usr/local/software
# tar zxvf cmake-2.8.8.tar.gz
# cd cmake-2.8.8
# ./bootstrap
# make && make install
安裝bison:
# tar zxvf bison-2.5.tar.gz
# cd bison-2.5
# ./configure
# make && make install

建立mysql使用者及使用者組:

# groupadd mysql
# useradd -r -g mysql mysql
編譯安裝 MySQL 5.5.23 複製程式碼
# tar xvf mysql-5.5.23.tar.gz
# cd mysql-5.5.23/
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
# -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
# -DDEFAULT_CHARSET=utf8 \
# -DDEFAULT_COLLATION=utf8_general_ci \
# -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
# -DWITH_MYISAM_STORAGE_ENGINE=1 \
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \
# -DWITH_READLINE=1 \
# -DENABLED_LOCAL_INFILE=1 \
# -DMYSQL_DATADIR=/var/mysql/data
接下來,安裝:
# make && make install
複製程式碼

注意事項:

重新編譯時,需要清除舊的物件檔案和快取資訊。

# make clean
# rm -f CMakeCache.txt
# rm -rf /etc/my.cnf

引數說明:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  //安裝目錄

-DINSTALL_DATADIR=/usr/local/mysql/data  //資料庫存放目錄

-DDEFAULT_CHARSET=utf8                        //使用utf8字元

-DDEFAULT_COLLATION=utf8_general_ci     //校驗字元

-DEXTRA_CHARSETS=all                            //安裝所有擴充套件字符集

-DENABLED_LOCAL_INFILE=1                    //允許從本地匯入資料

分配許可權:

# chmod +w /usr/local/mysql
# chown -R mysql:mysql /usr/local/mysql
# ln -s/usr/local/mysql/lib/libmysqlclient.so.16 
# /usr/lib/libmysqlclient.so.16

建立相應的目錄:

# mkdir -p /var/mysql/
# mkdir -p /var/mysql/data/
# mkdir -p /var/mysql/log/
# chown -R mysql:mysql /var/mysql/
# cd support-files/

# cp my-large.cnf /var/mysql/my.cnf (注意:my-large.cnf適用於1G記憶體左右的伺服器,可以根據自己配置情況選用my-large.cnf 或 my-huge.cnf 等不同配置)

# cp mysql.server /etc/init.d/mysqld

四、配置啟動MySQL

若有需要請先修改 mysql 的配置 my.cnf

# vi /var/mysql/my.cnf

mysql 初始化安裝:

# /usr/local/mysql/scripts/mysql_install_db \
--defaults-file=/var/mysql/my.cnf \
--basedir=/usr/local/mysql \
--datadir=/var/mysql/data \
--user=mysql

注:‘--’ 這個橫線也要輸入

將 mysql 加入開機啟動:

chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld (編輯此檔案,查詢並修改以下變數內容:)
basedir=/usr/local/mysql
datadir=/var/mysql/data
chkconfig --add mysqld
chkconfig --level 345 mysqld on

啟動 mysql:

# service mysqld start

如果已經出現,Starting MySQL...[確定]

至此就安裝成功了!

進入mysql:

直接輸入mysql即可,修改使用者名稱參考上一篇博文

如果安裝完mysql,進入mysql的時候提示-bash: mysql: command not found,那麼需要為mysql建立軟連線

由於系統預設會查詢/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是對映一個連結到/usr/bin目錄下:

# cd /usr/local/bin
# ln -fs /MYSQLPATH/bin/mysql mysql

其中MYSQLPATH是實際的mysql安裝目錄,比如上文安裝的目錄就是:/usr/local/mysql