mysql 5.7.18 源碼安裝筆記


之所以貼出這樣一篇筆記呢?主要是因為很久之前,源碼安裝MySQL的時候,碰到了太多太多的坎坷。

如果你有興趣進行源碼安裝,那么請不要以這篇文章為標准,因為每個人的及其環境等其他因素還是差距比較大的。

但可以作為一篇流程參考文檔,其中的坑點總結,希望能幫助大家繞過一些不必要的麻煩!

坑點

1 5.7.6以后安裝必須有boost支持

2 權限和路徑比較坑,步驟較多,如果中間錯了,

先檢查之前執行命令時權限是否正確,

再檢查每一步操作的路徑是否符合自己本地要求

3 很多人傻傻的找不到源碼包在哪里,兩個都是源碼包

只不過下一個包含boost依賴

 

 

准備

1、首先安裝依賴包

yum install -y gcc gcc-c++ ncurses-devel perl openssl-devel

最最重要的是,不要忘了安裝openssl-devel

2、安裝cmake

sudo yum install cmake

 

 

1 mysql迅雷下載地址:

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.18.tar.gz

2 解壓:

sudo tar xzvf mysql-boost-5.7.18.tar.gz -C /usr/local/Mysql/

注:稍后我們需要建立/usr/local/mysql,

所以這里要建造一個Mysql,當然建造其他的也可以,

和之后的/usr/local/mysql 能區分開就好

3 先創建用戶mysql並將mysql用戶添加到mysql組下

groupadd mysql   

useradd -g mysql mysql   

將解壓的文件的權限修改為mysql:mysql

sudo chown mysql:mysql /usr/local/Mysql/mysql-5.7.18

注:創建用戶 sudo useradd -M -s /sbin/nologin mysql

4 安裝依賴包:

sudo apt install -y build-essential cmake libncurses5-dev bison

 

編譯

1 進入源碼解壓目錄

cd /usr/local/Mysql/mysql-5.7.18/

2 創建編譯后的文件存儲位置,並進入

(1)sudo mkdir build      //創建build目錄

(2)cd build      //進入build目錄

3 指定cmake參數

sudo cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DDEFAULT_CHARSET=utf8mb4 .. -DWITH_BOOST=/usr/local/src/mysql-5.7.18/boost/boost_1_59_0

.. -DMYSQL_DATADIR=/data/mysql/data

安裝的路徑有點坑, 下面這條命令中有兩個 ".."

如果不寫的話,會提示沒有 "/usr/local/mysql"

"/usr/local/Mysql/mysql-5.7.18/boost/boost_1_59_0"

由於對linux還不是特別熟悉,我估計應該是執行cmake時,會從根目錄開始找配置的參數目錄,

".."代表根目錄

 

 

4 sudo make

編譯完成之后,和網上視頻教程講述的一致,效果如下:

 

 

 

5 執行 sudo make install

 

 

 

6 檢查是否安裝成功:

 

 

文件編譯好之后,就需要安裝數據庫並執行配置了!

 

安裝Mysql

1 配置環境變量(非必須):

創建變量文件,可以創建在profile,也可以創建在profile.d中

 

 

寫入配置信息

 

 

執行生效環境變量,注意:這一步必須退到根目錄下執行,

 

 

2 創建配置文件

mysql的安裝目錄下創建配置文件目錄/etc,

/etc下創建my.cnf

 

 

 

3 編輯my.cnf

有些目錄 /data /log /run 可能沒有,則需要手動創建

my.cnf

[client]

[mysqld]

basedir=/usr/local/mysql

# this direct impossible is nothing,we need to build!

datadir=/usr/local/mysql/data

# The document was not informed

socket=/tmp/mysql.sock

character_set_filesystem = utf8mb4

character_set_server = utf8mb4

symbolic-links=0

# run and log is must!

log-error=/usr/local/mysql/log/mysqld.log

pid-file=/usr/local/mysql/run/mysqld.pid

 

4 將mysql目錄下的文件權限,全部賦給mysql,

否則會導致初始化后,/data下沒有任何內容

 

5 進行初始化

sudo /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/etc/my.cnf

--initialize --user=mysql

 

6 配置啟動服務

 

 

 

7 查詢mysql的初始密碼,在日志文件中隨機生成的;

后面的路徑需要注意是自己的

sudo grep 'root'@'localhost' /usr/local/mysql/log/mysqld.log

初始密碼:7wff5n<w%j_S

 

 

8 修改root密碼

ALTER USER root@localhost IDENTIFIED BY 'new password';

9 連接數據庫

mysql -h IP地址 -uroot -p 【回車后輸密碼】

GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;

 

QQ 群:219537016    雖然沒啥人氣,群主經常裝死中!

同事建立了一個微信討論群,群主最喜歡能解決問題時,出來冒泡,解決不了時,裝死!     

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM