从源编译MySQL
注:本次編譯MySQL-5.7.19使用Linux(CentOS7)系統
在編譯前 yum -y install make gcc-c++ bison-devel (Ubuntu和Debian 使用apt-get 安裝)
make,Linux下非常重要的編譯工具,最主要也是最基本的功能就是通過makefile文件來描述源程序之間的相互關系并自動維護編譯工作。
gcc-c++,C++ 編譯器(gcc,C編譯器)
bison-devel 一個語法分析器生成器
下載MySQL源代碼
https://dev.mysql.com/downloads/mysql/
下載選項:
wget https://dev.mysql.com/get/Dow...
tar xzf mysql-boost-5.7.19.tar.gz
mv mysql-5.7.19 /usr/local/mysql #移動MySQL源碼到 /usr/local 目錄下
從源安裝MySQL,需要安裝CMake
cmake,一個跨平臺的編譯自動配置工具(作用生成makefile 文件)
不想編譯安裝可以直接:yum -y install cmake
開始安裝MySQL
cd /usr/local/mysql #使用 cmake 來編譯MySQL(yum安裝的直接 cmake 不用加路徑) /usr/local/cmake/bin/cmake . -DWITH_BOOST=/usr/local/mysql/boost #根據需要調整路徑以匹配您的安裝
缺少 ncurses-devel 直接 yum -y install ncurses-devel (debian/ubuntu 是 apt-get install libncurses5-dev)
要防止使用舊的對象文件或配置信息,請在重新運行CMake之前在Unix上的構建方案中運行以下命令 make clean rm -f CMakeCache.txt在次使用 cmake 編譯MySQL /usr/local/cmake/bin/cmake . -DWITH_BOOST=/usr/local/mysql/boost make
內存不足,在Linux下增加臨時 swap 空間 (ps:因為博主窮,服務器配置不高;不出現此問題就跳過)
解決方法:http://blog.csdn.net/razertang/article/details/45694567
記錄生成的初始密碼::a0esd.M=wQF
#為防止通過MySQL用戶修改MySQL文件,修改用戶為root chown -R root /usr/local/mysql/ #把初始化時生成的 data 目錄用戶 修改成MySQL權限 chown -R mysql data #如果提示沒有data目錄 mkdir data && chown -R mysql:mysql data#啟動 /usr/local/mysql/bin/mysqld_safe --user=mysql &
/var/log/mariadb/mariadb.log' 不存在
mkdir /var/log/mariadb && touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb/
啟動失敗,查看日志:cat /var/log/mariadb/mariadb.log
'/var/run/mariadb/mariadb.pid' 不存在 (ps:錯誤不一定一樣,按照日志來解決問題)
mkdir /var/run/mariadb && touch /var/run/mariadb/mariadb.pid chown -R mysql:mysql /var/run/mariadb/# Next command is optional cp support-files/mysql.server /etc/init.d/mysql.server#登陸到MySQL /usr/local/mysql/bin/mysql -uroot -p:a0esd.M=wQF
tmp 文件夾 缺少 mysql.sock
#軟連接 mysql.sock 到 tmp ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock#登陸到MySQL /usr/local/mysql/bin/mysql -uroot -p:a0esd.M=wQF #修改MySQL初始密碼 set password = password('XXXX');本文根據MySQL文檔編寫
https://dev.mysql.com/doc/refman/5.7/en/source-installation.html
https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html
題外話:
在編譯的過程中,你可能會遇到各種各樣的問題;但是請你不要馬上的去Google上搜索,先靜下心來看日志;相信我,你會有收獲。
總結
- 上一篇: 在AWS中部署OpenShift平台
- 下一篇: Linux的shell scripts的