MySQL 5.7.17 原始碼方式安裝詳細步驟

甲骨文技術支援發表於2017-02-08
一:作業系統環境和目錄結構
[mysql@oracle11gtest ~]$ cat /etc/redhat-release
CentOS release 6.8 (Final)
[mysql@oracle11gtest ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   21G   18G  55% /
tmpfs           7.8G   68K  7.8G   1% /dev/shm
/dev/vdb1      1008G  169G  789G  18% /alidata1
二:下載
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
官方安裝文件地址
http://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html
三:建立使用者:
[mysql@oracle11gtest ~]$  df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   21G   18G  55% /
tmpfs           7.8G   68K  7.8G   1% /dev/shm
/dev/vdb1      1008G  169G  789G  18% /alidata1
因為我的測試環境是在阿里雲上,alidata1目錄下之前安裝了oracle,現在還是在這個目錄下安裝mysql,所以我需要把mysql使用者的組設定為ointall,目的是讓mysql使用者讀寫alidata1目錄
useradd -g oinstall mysql
建立之後:
[mysql@oracle11gtest ~]$ id
uid=1201(mysql) gid=1000(oinstall) groups=1000(oinstall)
四:安裝元件準備,有的元件作業系統裡面可能已經存在了,忽略即可。
yum install gcc gcc-c++ -y
yum install -y ncurses-devel.x86_64
yum install -y cmake.x86_64
yum install -y libaio.x86_64
yum install -y bison.x86_64
yum install -y gcc-c++.x86_64
五:資料庫目錄規劃
mysql軟體目錄:  /usr/local/mysql
mysql資料目錄:/alidata1/mysqldata/3306/data
mysql日誌目錄:/alidata1/mysqldata/3306
          [mysql@oracle11gtest ~]$ mkdir -p /alidata1/mysqldata/{3306/{data,tmp,binlog},backup,scripts}
六:解壓
[root@oracle11gtest mysqlsoftware]# tar -xzvf mysql-5.7.17.tar.gz
七:CMake
進入解壓後的軟體目錄進行CMake,CMake的目的是生成makefile檔案,為下一步編譯做準備
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT='Mysqlma' \
-DWITH_READLINE=ON \
-DSYSCONFDIR=/data/mysqldata/3306 \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock
遇到一個報錯:
CMake Error at cmake/boost.cmake:81 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=
 This CMake script will look for boost in .  If it is not there,
  it will download and unpack it (in that directory) for you.
 If you are inside a firewall, you may need to use an http proxy:
export http_proxy=
Call Stack (most recent call first):
  cmake/boost.cmake:238 (COULD_NOT_FIND_BOOST)
  CMakeLists.txt:455 (INCLUDE)
-- Configuring incomplete, errors occurred!
See also "/root/mysqlsoftware/mysql-5.7.17/CMakeFiles/CMakeOutput.log".
See also "/root/mysqlsoftware/mysql-5.7.17/CMakeFiles/CMakeError.log".
解決辦法,參考我另一篇博文:http://blog.itpub.net/20893244/viewspace-2133137/
重新執行CMake,出現如下資訊表示CMake透過:
-- Configuring done
-- Generating done
-- Build files have been written to: /root/mysql-5.7.17
八:編譯和安裝,時間比較長需要耐心等待
[root@oracle11gtest mysql-5.7.17]# make & make install
九:配置my.cnf引數檔案
在/etc/下建立my.cnf檔案,加入如下引數,其他引數根據需要配置
[client]
port=3306
socket=/alidata1/mysql5717/data/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/alidata1/mysql5717/data/mysql.sock
pid-file=/alidata1/mysql5717/data/mysql.pid
basedir=/usr/local/mysql5717
datadir=/alidata1/mysql5717/data/
tmpdir=/alidata1/mysql5717/tmp
......
十:初始化資料庫
執行:
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/alidata1/mysqldata/3306/data
在日誌檔案裡會提示一個臨時密碼,記錄這個密碼
2017-02-07T01:50:22.772693Z 1 [Note] A temporary password is generated for root@localhost: /sxS7/15q
注意:5.7.6之前的版本需要用下面這條命令初始化
mysql_install_db
十一:安裝ssl
執行:
./mysql_ssl_rsa_setup
十二:啟動資料庫
mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf &
 啟動之後檢視日誌有個error
 2017-02-07T10:57:41.256534Z 0 [ERROR] SSL error: Unable to get private key from 'server-key.pem'
解決辦法看我另一個部落格:http://blog.itpub.net/20893244/viewspace-2133191/
至此5.7.17就安裝完成了。<h)

</h)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20893244/viewspace-2133221/,如需轉載,請註明出處,否則將追究法律責任。

相關文章