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. 所有下載的檔案將儲存在
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