CentOS 7營運管理筆記(10)----MySQL源碼安裝

來源:互聯網
上載者:User

標籤:

  MySQL可以支援多種平台,如Windows,UNIX,FreeBSD或其他Linux系統。本篇隨筆記錄在CentOS 7 上使用源碼安裝MySQL的過程。

1.下載源碼

  選擇使用北理工的鏡像檔案:

在CentOS 7 中輸入如下命令:

[[email protected]:~/Downloads] # wget http://mirror.bit.edu.cn/mysql/Downloads/MySQL-5.6/mysql-5.6.31.tar.gz

2.解壓mysql源碼壓縮檔,並更新軟體源

 3.安裝編譯所需軟體包

yum install -y  make   gcc-c++   cmake   bison-devel  ncurses-devel   gcc   autoconf   automake   zlib*   fiex*   libxml*   libmcrypt*  libtool-ltdl-devel*

結果顯示如下錯誤:

網上尋找應對 [Errno 256] 的辦法,使用如下命令:

yum clean allyum makecache

輸入這兩個命令後,重新下載那些編譯MySQL依賴的軟體包,這次一個一個安裝,不要所有軟體包都輸入在同一個命令列裡:

yum install -y makeyum install -y gcc-c++yum install -y cmake......

這次libxml* 安裝正常了,但是好像fiex* 的安裝還是存在問題,且不管了,繼續進行。

4. 使用cmake命令產生MakeFile

先產生/var/mysql/data 目錄:

mkdir  -p  /var/mysql/data

 

關於CMake的介紹見百度:http://baike.baidu.com/link?url=N-Yk2wK5C807vyXsK58_93dRocV_NIitJKug8925aUovJrKNQ2roUOuCxK2m1xC9u2Vpz6WjHG18bwQtZrhH4a

輸入如下命令:

[[email protected]:~/Downloads/mysql-5.7.13] # cmake > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql > -DMYSQL_DATADIR=/var/mysql/data > -DSYSCONFDIR=/etc > -DWITH_MYISAM_STORAGE_ENGINE=1 > -DWITH_INNOBASE_STORAGE_ENGINE=1 > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock > -DMYSQL_TCP_PORT=3306 > -DENABLED_LOCAL_INFILE=1 > -DEXTRA_CHARSETS=all > -DDEFAULT_CHARSET=utf8 > -DDEFAULT_COLLATION=utf8_general_ci 

結果出現如下錯誤:

百度搜尋 CMake Error at cmake/boost.cmake:81 (MESSAGE),找到這麼一個網頁:http://www.cnblogs.com/chunguang/p/5553301.html

看到方法一太淩亂,就沒好好看,直接選擇了方法二----然而並沒有效果;

再仔細看剛才cmake的錯誤提示:

對比搜到的那個網頁的方法一,原來方法一跟cmake提示的一樣,就是多加上一句cmake條件而已:-DDOWNLOAD_BOOST=1  -DWITH_BOOST=/usr/local/boost

[[email protected]:~/Downloads/mysql-5.7.13] # cmake > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql > -DMYSQL_DATADIR=/var/mysql/data > -DSYSCONFDIR=/etc > -DWITH_MYISAM_STORAGE_ENGINE=1 > -DWITH_INNOBASE_STORAGE_ENGINE=1 > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock > -DMYSQL_TCP_PORT=3306 > -DENABLED_LOCAL_INFILE=1 > -DEXTRA_CHARSETS=all > -DDEFAULT_CHARSET=utf8 > -DDEFAULT_COLLATION=utf8_general_ci > -DDOWNLOAD_BOOST=1 \> -DWITH_BOOST=/usr/local/boost

CMake之,過程中出現如下畫面:

這回CMake成功:

 

5.編譯

該過程會花費大約30分鐘~~~~

[[email protected]:~/Downloads/mysql-5.6.31] # make

6.安裝

[[email protected]:~/Downloads/mysql-5.6.31] # make install

 安裝過程大約5分鐘搞定吧。

7.添加使用者並設定許可權

[[email protected]:~/Downloads/mysql-5.6.31 ]# cd /usr/local/mysql#添加使用者[[email protected]:/usr/local/mysql ]# groupadd mysql[[email protected]:/usr/local/mysql ]# useradd -r -g mysql mysql#設定許可權以便mysql能修改檔案[[email protected]:/usr/local/mysql ]# chown -R mysql.mysql ./[[email protected]:/usr/local/mysql ]# chown -R mysql.mysql /var/mysql/data#初始化資料庫#需要注意,此處設定的資料目錄應該與之前MYSQL_DATADIR 指定的目錄相同[[email protected]:/usr/local/mysql ]# scripts/mysql_install_db --usr=mysql   -ldata=/var/mysql/data

執行結果:

使用 ll 命令可以看到新產生了my.cnf 檔案

 

將my.cnf 備份

cp  my.cnf   my.cnf.backup

然後修改相應的目錄的許可權以便mysql修改:

[[email protected]: /usr/local/mysql]# chown -R root ./[[email protected]: /usr/local/mysql]# chown -R mysql data

 

關於編譯MySQL時的參數,這個網頁有詳細的說明:http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

8. 配置MySQL的設定檔,如下所示:

9. 設定MySQL為系統服務

(i)將啟動指令碼放到 /etc/init.d 目錄中

(ii)將 mysqld 添加為系統服務

(iii)啟動MySQL服務

 

出現如上所示錯誤

網上搜尋答案,http://blog.sina.com.cn/s/blog_637e04c9010117ri.html,http://www.jb51.net/article/48625.htm,想到可能是因為剛才設定了

[[email protected]: /usr/local/mysql]# chown -R  mysql.mysql ./#後來又設定了[[email protected]: /usr/local/mysql]# chown -R root ./

而 my.cnf 設定檔沒有做正確的修改,按照剛才的錯誤提示,(The server quit without updating PID file (/var/mysql/data/javis)),修改my.cnf檔案如下:

再次啟動

成功!

 (iv) 為 root 使用者佈建密碼

在第一個紅色方框處提示要輸入密碼,因為此時還沒有為root 使用者佈建密碼,所以什麼都不用輸入,直接按下斷行符號鍵。

設定密碼要按照第二個紅色方框處的格式來進行設定,密碼放在 password()的括弧裡,而且要用單引號包圍起來。

顯示正確後,輸入quit退出。

 

謹記 2016-07-04-Mon 20:11

CentOS 7營運管理筆記(10)----MySQL源碼安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.