日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

从源编译MySQL

發(fā)布時間:2025/7/14 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从源编译MySQL 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

注:本次編譯MySQL-5.7.19使用Linux(CentOS7)系統(tǒng)
在編譯前 yum -y install make gcc-c++ bison-devel (Ubuntu和Debian 使用apt-get 安裝)

make,Linux下非常重要的編譯工具,最主要也是最基本的功能就是通過makefile文件來描述源程序之間的相互關(guān)系并自動維護編譯工作。
gcc-c++,C++ 編譯器(gcc,C編譯器)
bison-devel 一個語法分析器生成器

下載MySQL源代碼
https://dev.mysql.com/downloads/mysql/

下載選項:

  • Source Code -> 源代碼
  • Generic Linux (Architecture Independent) -> 通用的Linux(獨立結(jié)構(gòu))
  • Compressed TAR Archive,Includes Boost Headers -> 選擇帶有Boost頭的壓縮包(MySQL需要Boost C++庫構(gòu)建)

    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 文件)

    wget https://cmake.org/files/v3.9/cmake-3.9.0.tar.gz tar xzf cmake-3.9.0.tar.gz cd cmake-3.9.0 ./configure --prefix=/usr/local/cmack #根據(jù)需要填寫安裝路徑 make && make install

    不想編譯安裝可以直接:yum -y install cmake

    開始安裝MySQL

    cd /usr/local/mysql #使用 cmake 來編譯MySQL(yum安裝的直接 cmake 不用加路徑) /usr/local/cmake/bin/cmake . -DWITH_BOOST=/usr/local/mysql/boost #根據(jù)需要調(diào)整路徑以匹配您的安裝

    缺少 ncurses-devel 直接 yum -y install ncurses-devel (debian/ubuntu 是 apt-get install libncurses5-dev)

    要防止使用舊的對象文件或配置信息,請在重新運行CMake之前在Unix上的構(gòu)建方案中運行以下命令 make clean rm -f CMakeCache.txt在次使用 cmake 編譯MySQL /usr/local/cmake/bin/cmake . -DWITH_BOOST=/usr/local/mysql/boost make

    內(nèi)存不足,在Linux下增加臨時 swap 空間 (ps:因為博主窮,服務器配置不高;不出現(xiàn)此問題就跳過)
    解決方法:http://blog.csdn.net/razertang/article/details/45694567

    make make install #創(chuàng)建 MySQL組和MySQL用戶 groupadd mysql useradd -r -g mysql -s /bin/false mysql # -s /bin/false 禁止使用shell #更改MySQL文件夾權(quán)限 chown -R mysql:mysql /usr/local/mysql #初始化數(shù)據(jù)庫并生成初始密碼 /usr/local/mysql/bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up

    記錄生成的初始密碼::a0esd.M=wQF

    #為防止通過MySQL用戶修改MySQL文件,修改用戶為root chown -R root /usr/local/mysql/ #把初始化時生成的 data 目錄用戶 修改成MySQL權(quán)限 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');

    本文根據(jù)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上搜索,先靜下心來看日志;相信我,你會有收獲。

    總結(jié)

    以上是生活随笔為你收集整理的从源编译MySQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。