Linux下編譯安裝Mysql 5.5的簡單步驟_Mysql

來源:互聯網
上載者:User

首先是安裝cmake環境。因為博主測試機是ubuntu,所以直接用apt-get install cmake命令來安裝,yum相信應該也一樣。或者可以編譯安裝,步驟如下。

複製代碼 代碼如下:

wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tarx zvfc cmake-2.8.12.2.tar.gz
cd cmake-2.8.12.2
 ./configure
make && make install

安裝完成後執行cmake -version,確定已經正確安裝。

然後下載mysql最新源碼包,編譯安裝。

複製代碼 代碼如下:

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz
tar xzvf mysql-5.5.36.tar.gz
cd mysql-5.5.36
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql
make && make install

這裡博主遇到一個有關ssl的錯誤,提示資訊如下所示。

Linking C shared module adt_null.so
[ 65%] Built target audit_null
Scanning dependencies of target vio
[ 65%] Building C object vio/CMakeFiles/vio.dir/vio.c.o
[ 65%] Building C object vio/CMakeFiles/vio.dir/viosocket.c.o
[ 65%] Building C object vio/CMakeFiles/vio.dir/viossl.c.o
/root/mysql-5.5.36/vio/viossl.c: In function ‘ssl_do':
/root/mysql-5.5.36/vio/viossl.c:175: error: ‘SSL_OP_NO_COMPRESSION' undeclared (first use in this function)
/root/mysql-5.5.36/vio/viossl.c:175: error: (Each undeclared identifier is reported only once
/root/mysql-5.5.36/vio/viossl.c:175: error: for each function it appears in.)
make[2]: *** [vio/CMakeFiles/vio.dir/viossl.c.o] Error 1
make[1]: *** [vio/CMakeFiles/vio.dir/all] Error 2
make: *** [all] Error 2

最後發現這個問題的原因是mysql5.5無法在openssl-1.0.0及更低版本下編譯導致的。如果不需要ssl可以去掉WITH_SSL配置項,也可以升級openssl的版本,另外更方便的方法可以在cmake之前打一個補丁。

複製代碼 代碼如下:

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz
tar xzvf mysql-5.5.36.tar.gz
cd mysql-5.5.36
wget -c "http://bugs.mysql.com/file.php?id=19941&bug_id=68999" -O mysql-openssl.patch
patch -p1 < span > mysql-openssl.patch

最後複製設定檔、修改。

複製代碼 代碼如下:

cp support-files/my-medium.cnf /etc/my.cnf
sed '/skip-external-locking/i\datadir = /data/mysql' -i /etc/my.cnf
sed -i 's:#innodb:innodb:g' /etc/my.cnf
sed -i 's:/usr/local/mysql/data:/data/mysql:g' /etc/my.cnf

啟動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.