2015-10-23
2015-10-28 修訂
CentOS 7.1 預設的 MySQL/mariadb 資料庫是 MariaDB 1:5.5.44,本篇測試安裝目前最新版的 MySQL 5.7.x 資料庫。
MySQL Installer 5.7.9
http://www.mysql.com/downloads/mysql/#downloads
檔案:mysql-5.7.9.tar.gz
免費註冊,登入後才可以下載
(下拉選單選 Source Code,到最後一個 Generic Linux (Architecture Independent), Compressed TAR Archive)
http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html
(要看 100% 原尺寸圖,可以 click 圖片)
下面為切換 su 在 /root 目錄下安裝情況
wget 若沒安裝可用 yum -y install wget 安裝
安裝步驟
mv /etc/my.cnf /etc/my.cnf.old cd /usr/local/src # 官方沒說 yum 要安裝些甚麼,但實際需要 yum -y install gcc gcc-c++ ncurses* cmake bison groupadd mysql useradd -r -g mysql mysql tar zxvf mysql-5.7.9.tar.gz cd mysql-5.7.9 # 官方說只用 cmake 指令就可,實際不行 cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/boost_1_59_0 # 如果是虛擬機器,建議 CPU 和 RAM 盡量多給些,很耗時間 make make install cd /usr/local/mysql chown -R mysql . chgrp -R mysql . yum -y install perl-Data-Dumper perl-XML-Dumper bin/mysqld --initialize --user=mysql bin/mysql_ssl_rsa_setup chown -R root . chown -R mysql data cp support-files/mysql.server /etc/init.d/mysql.server #啟動 bin/mysqld_safe --user=mysql & # 或 service mysql.server start |
補充說明
1. yum 問題,官方網站沒有說明要安裝那些,單看錯誤訊息有時不好判斷如何能真正解決
2. boost 問題
安裝過程需要 boost,CentOS 7.1 可用 yum 安裝 boost 1.53 版,但 mysql 5.7 需要 1.59 版才行
[root@localhost Modules]# find / -name boost
find: ‘/run/user/1000/gvfs’: Permission denied
/usr/share/doc/boost-doc-1.53.0/doc/html/boost
/usr/share/doc/boost-doc-1.53.0/doc/test/gold/boost
/usr/share/doc/boost-doc-1.53.0/libs/algorithm/doc/html/boost
/usr/share/doc/boost-doc-1.53.0/libs/algorithm/doc/html/header/boost
/usr/share/doc/boost-doc-1.53.0/libs/functional/overloaded_function/doc/html/boost
/usr/share/doc/boost-doc-1.53.0/libs/icl/doc/html/boost
/usr/share/doc/boost-doc-1.53.0/libs/icl/doc/html/header/boost
/usr/share/doc/boost-doc-1.53.0/libs/numeric/odeint/doc/html/boost
/usr/share/doc/boost-doc-1.53.0/libs/numeric/odeint/doc/html/header/boost
/usr/share/doc/boost-doc-1.53.0/libs/pool/doc/html/boost
/usr/share/doc/boost-doc-1.53.0/libs/pool/doc/html/header/boost
/usr/include/boost
/usr/include/boost/chrono/typeof/boost
/usr/local/src/mysql-5.7.9/include/boost_1_59_0/boost
編譯過程曾嘗試參考下面語法
cmake -DCMAKE_INSTALL_PREFIX=$TARGET \
-DBoost_NO_BOOST_CMAKE=TRUE \
-DBoost_NO_SYSTEM_PATHS=TRUE \
-DBOOST_ROOT:PATHNAME=$TARGET \
-DBoost_LIBRARY_DIRS:FILEPATH=${TARGET}/lib
cmake -DBoost_NO_BOOST_CMAKE=TRUE \
-DBoost_NO_SYSTEM_PATHS=TRUE \
-DBOOST_ROOT:PATHNAME=$TARGET \
-DBoost_LIBRARY_DIRS:FILEPATH=
/usr/local/src/mysql-5.7.9/include/boost_1_59_0/boost/libs
自己去抓 boost_1_59_0.tar.gz 也不行,最後是 cmake 時候設定參數下載
3. cmake 問題
# 官方說只用 cmake 指令就可,實際不行
cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/boost_1_59_0
4. cmake 與 yum 問題
某些套件在 yum 時候若沒安裝,到 cmake 時候才發現,這時候才 yum 安裝來不及,cmake 仍會失敗;解決方法是把整個 mysql 目錄砍掉,yum 安裝後,重新再 cmake 才行
rm -fr /usr/local/src/mysql-5.7.9
5. make 問題
make 過程可能幾乎停住不動,下面訊息曾花了 1 小時也依然顯示
[ 54%] Building CXX object sql/CMakeFiles/sql.dir/item_geofunc.cc.o
[ 54%] Building CXX object sql/CMakeFiles/sql.dir/item_geofunc.cc.o
後來 PowerOff,把 CPU 從 1 改為4,把 RAM 從 1GB 改為 4GB,此一條訊息可在約 5分鐘後通過。 (整個 make 還是頗耗時間)
啟動 MySQL 可用
Starting MySQL SUCCESS!
[root@localhost mysql]# service mysql.server start
Starting MySQL SUCCESS!
檢查一下
[root@localhost mysql]# ps aux | grep mysql
root 11552 0.0 0.0 113252 1604 pts/0 S Oct23 0:00 /bin/sh bin/mysqld_safe --user=mysql
mysql 11634 0.0 13.1 2158748 509336 pts/0 Sl Oct23 0:37 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/localhost.localdomain.err --pid-file=/usr/local/mysql/data/localhost.localdomain.pid
root 91180 0.0 0.0 112644 960 pts/0 S+ 08:30 0:00 grep --color=auto mysql
[root@localhost mysql]# service mysql.server stop
Shutting down MySQL..151026 08:31:09 mysqld_safe mysqld from pid file /usr/local/mysql/data/localhost.localdomain.pid ended
SUCCESS!
[1]+ Done bin/mysqld_safe --user=mysql (wd: /usr/local/mysql)
(wd now: /etc/init.d)
[root@localhost mysql]# kill -9 11552
(完)
相關文章
[研究] MySQL 5.7 安裝 (CentOS 7.1 x64) (mysql-5.7.9.tar.gz)
http://shaurong.blogspot.com/2015/10/mysql-57-centos-71-x64-mysql-579targz.html
[研究] MySQL 5.7 安裝 (mysql-installer-community-5.7.9.0.msi) Developer
http://shaurong.blogspot.tw/2015/10/mysql-57-mysql-installer-community.html
[研究] mysql-5.6.25.tar.gz 安裝 (CentOS 7.1 x86_64)
http://shaurong.blogspot.com/2015/06/mysql-5625targz-centos-71-x8664.html
[研究] mysql-5.6.20.tar.gz 安裝 (CentOS 7.0 x86_64)
http://shaurong.blogspot.com/2014/08/mysql-5620targz-centos-70-x8664.html
[研究] mysql-5.6.15.tar.gz 安裝(CentOS 6.5 x64)
http://shaurong.blogspot.tw/2014/01/mysql-5615targz-centos-65-x64.html
http://forum.icst.org.tw/phpbb/viewtopic.php?f=21&t=80713
[研究] MySQL 5.6.15 安裝(rpm)(CentOS 6.5 x64)
http://shaurong.blogspot.com/2014/01/mysql-5615-rpmcentos-65-x64.html
[研究] MySQL Community 5.6.15 版安裝(yum) (CentOS 6.5 x64)
http://shaurong.blogspot.com/2014/01/mysql-community-5615-tgz-centos-65-x64.html
[研究] 4主機 MySQL Cluster 7.3.3 架設(CentOS 6.5 x64)
http://shaurong.blogspot.tw/2014/01/4-mysql-cluster-7.html
[研究] 4主機 MySQL Cluster 7.2.10.1 架設
http://shaurong.blogspot.tw/2013/02/4-mysql-cluster-7210-1.html
[研究] 2主機 MySQL Cluster 7.2.10-1 架設
http://shaurong.blogspot.com/2013/02/2-mysql-cluster-7210-1.html
[研究] 4主機 MySQL Cluster 7.0.9 架設
http://forum.icst.org.tw/phpbb/viewtopic.php?f=10&t=17903
[研究] 雙主機 MySQL Cluster 7.0.9架設
http://forum.icst.org.tw/phpbb/viewtopic.php?f=10&t=17904
[研究] MariaDB 5.5 安裝(yum)(CentOS 6.3 x64)
http://shaurong.blogspot.com/2013/02/mariadb-55-yum-centos-63-x64.html
[研究] CentOS 5.4 x86 上 MySQL 資料庫同步(Replication)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=17824
[研究] mariadb-5.1.42 (tar.gz)(瑪利亞資料庫, MySQL) 安裝 (CentOS 5.4)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=17988
[研究] mariadb-5.2.4-Linux-i686.tar.gz 安裝 (CentOS 5.5 x86)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=19434
[研究] mysql-5.5.14.tar.gz 安裝(失敗)(CentOS 6.0 x86)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=20252
[研究] mysql-5.5.8.tar.gz 安裝(CentOS 5.5 x86)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=19214
[研究] mysql-5.5.8.tar.gz 安裝(Fedora 14 x86)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=19215
[研究] 每天自動備份 MySQL 方法
http://forum.icst.org.tw/phpbb/viewtopic.php?t=14972
[研究] 雙主機 MySQL Cluster 7.0.9 架設
補充幾點給大大,1.CMake失敗,只要刪除Source目錄中的CMakeCashe.txt就可以了,不用刪全部的Source
回覆刪除2.以mysql 5.7.11為例,目前配合用的boost是1.59版,若在可以連外部網路的情況則用參數-DDOWNLOAD_BOOST=1來做下載,-DWITH_BOOST=/usr/local/src/來做為下載目錄(mysql會自動連網去下載boosts 1.59 的source)。若在不能使用網路的情形下,請自行去下載boost_1_59_0.tar.gz並放在想放的資料夾中,因此不需要-DDOWNLOAD_BOOST的參數,直接使用-DWITH_BOOST=/usr/local/src/boost_1_59_0.tar.gz 在執行時,mysql cmake會自動進行解壓縮的部份而完成boosts source的驗證,之後就可以開始make囉~~~
感謝分享 :)
刪除測試了一下,目前 CentOS 7.2 上 yum 安裝 boost 仍是 1.53 版
回覆刪除