久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL如何源碼安裝

193次閱讀
沒有評論

共計 5569 個字符,預計需要花費 14 分鐘才能閱讀完成。

丸趣 TV 小編給大家分享一下 MySQL 如何源碼安裝,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

源碼安裝的兩種方法

MySQL 的源碼安裝有兩種方法可供參考。

Use a standard MySQL source distribution,這種方法其實就是下載源碼壓縮包,然后通過 cmake 來構建部署。

比如 5.6 版本的源碼包,可以參考鏈接下載:

https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz 安裝說明和步驟可以參考:

http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html 對于 MySQL 5.7 把對應版本改一下就可以,差別不是很大。

或者到官網直接點擊下載也可以。

安裝的詳細步驟我們等下細說,目前網站上看到的絕大多數源碼安裝都是這種方式。

Use a MySQL development tree,這種方式是通過開發源碼樹的方式來編譯部署。主要的方式就是基于 git.

這種方式相對來說,感覺就是在參與開發一個項目一般,有著很完善的版本管理。

首先使用 git 來開啟安裝,會從 github 上來抓取。

# git clone https://github.com/mysql/mysql-server.git 這個過程會持續一些時間,完成之后目錄變成了多大。大概 1.5G, 而源碼壓縮包大概就是幾十 M, 差別非常大。

# du -sh .

1.5G . 我們使用 git 來查看版本的情況,發現 MySQL 8.0 的代碼也可以抓取了,如果想嘗嘗鮮,掌握新版本新特性,這種方式還是比較高效的。

# git branch -r

origin/5.5

origin/5.6

origin/5.7

origin/8.0

origin/HEAD – origin/5.7

origin/cluster-7.2

origin/cluster-7.3

origin/cluster-7.4

origin/cluster-7.5 比如我們選擇 5.7 版本,

# git checkout 5.7

Checking out files: 100% (21703/21703), done.

Switched to branch 5.7 接下來的事情就和源碼包安裝差不多了。我們放在一起說。

先來了解下安裝的幾個命令

其實源碼安裝的步驟還是很常規,時間都在編譯的過程中,你可以看到屏幕里滿屏的日志輸出,感覺好像你在做什么超級高深的事情一樣。其實編寫這個軟件的人才是真心牛叉,不服你想想你安裝的時候,除了 cmake,
make ,make install 之外,操作的步驟也要簡單的多。

其實很多開源軟件安裝都是 make,make install 這樣的步驟,這個過程后面到底發生了什么。

make 的命令使用細則如下:

make [options] [targets] [VAR=VALUE]…

[options] 是命令行選項,可以用 make –help 命令查看全部,[VAR=VALUE] 是在命令行上指定環境變量,而 target 則是 Makefile 里面的規則。Makefile 里面的內容有時候看不大明白。

可以參考這個, 這個列表引用自:http://mp.weixin.qq.com/s/rp50qrNipmdBBOyNTkGJoQ

AR 函數庫打包程序,可創建靜態庫.a 文檔。默認是 ar。AS 匯編程序。默認是 as。CC C 編譯程序。默認是 cc。CXX
C++ 編譯程序。默認是 g++。CPP C/C++ 預處理器。默認是 $(CC) -E。FC Fortran 編譯器。默認是 f77。PC
Pascal 語言編譯器。默認是 pc。YACC Yacc 文法分析器。默認是 yacc。ARFLAGS
函數庫打包程序的命令行參數。默認值是 rv。ASFLAGS 匯編程序的命令行參數。CFLAGS C 編譯程序的命令行參數。CXXFLAGS
C++ 編譯程序的命令行參數。CPPFLAGS C/C++ 預處理器的命令行參數。FFLAGS Fortran 編譯器的命令行參數。PFLAGS
Pascal 編譯器的命令行參數。YFLAGS Yacc 文法分析器的命令行參數。LDFLAGS 鏈接器的命令行參數。prefix
/usr/localexec_prefix $(prefix)bindir $(exec_prefix)/binsbindir
$(exec_prefix)/sbinlibexecdir $(exec_prefix)/libexecdatadir
$(prefix)/sharesysconfdir $(prefix)/etcsharedstatedir
$(prefix)/comlocalstatedir $(prefix)/varlibdir $(exec_prefix)/libinfodir
$(prefix)/infoincludedir $(prefix)/includeoldincludedir
$(prefix)/includemandir $(prefix)/mansrcdir 需要編譯的源文件所在的目錄,無默認值

這樣可能會清楚一些了,至少我們知道大概要做的事情了。

安裝前的準備

安裝前,做以下幾件事情。創建 mysql 用戶組,創建 mysql 用戶。

groupadd mysql

useradd -r -g mysql -s /bin/false mysql 接下來的工作就需要花點功夫了,那就是環境依賴的安裝包。

對于 MySQL 5.7 來說,boost 是需要的,否則無法編譯,這樣下載部署。當然 boost 在 MySQL 5.6 不是必需。

wget https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

tar -zxvf boost_1_59_0.tar.gz -C /usr/local/ 還有一個字符終端處理庫 ncurses 是一定要檢查的,可以這樣下載。

http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.8.tar.gz 下載后使用./configure,make,make install 即可安裝。

安裝后,可以使用如下的方式來檢測是否安裝成功。

# ll /usr/lib/libncurse*

-rw-r–r– 1 root root 669034 Mar 23 13:31 /usr/lib/libncurses.a

-rw-r–r– 1 root root 166630 Mar 23 13:31 /usr/lib/libncurses++.a

-rw-r–r– 1 root root 3501680 Mar 23 13:31 /usr/lib/libncurses_g.a 如果饒有興致,還可以寫一小段代碼來檢測。

#include unistd.h

#include stdlib.h

#include curses.h

int main()

{

initscr();

move(5, 15);

printw(%s , Hello world);

refresh();

sleep(2);

endwin();

exit(EXIT_SUCCESS);

} 這么運行即可。

g++ a.c -lncurses ./a.out 如果看到 Hello world, 證明安裝是沒有問題的。

最重要的一點,那就是保證 cmake 是可用的,沒有的話,yum install cmake 安裝一下。

同時 gcc,bison 的版本也要注意一下,不能太低。

源碼安裝

目前壓縮包解壓后可以看到的 cmake 支持版本很多。

# ll /root/soft/mysql_source_code/mysql-5.6.35/cmake/os

total 60

-rw-r–r– 1 7161 31415 1402 Nov 28 21:36 AIX.cmake

-rw-r–r– 1 7161 31415 773 Nov 28 21:36 Cygwin.cmake

-rw-r–r– 1 7161 31415 951 Nov 28 21:36 Darwin.cmake

-rw-r–r– 1 7161 31415 1139 Nov 28 21:36 FreeBSD.cmake

-rw-r–r– 1 7161 31415 1714 Nov 28 21:36 HP-UX.cmake

-rw-r–r– 1 7161 31415 1658 Nov 28 21:36 Linux.cmake

-rw-r–r– 1 7161 31415 838 Nov 28 21:36 OS400.cmake

-rw-r–r– 1 7161 31415 4242 Nov 28 21:36 SunOS.cmake

-rw-r–r– 1 7161 31415 14652 Nov 28 21:36 WindowsCache.cmake

-rw-r–r– 1 7161 31415 8011 Nov 28 21:36 Windows.cmake 我們開始安裝,值得一提的是,我是打算同服務器上安裝多個版本,所以就在 /usr 下指定了不同的安裝目錄,數據目錄。

cmake .

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql_5.6

-DMYSQL_DATADIR=/home/mysql_5.6

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DEXTRA_CHARSETS=all

-DENABLED_LOCAL_INFILE= 1 一般準備充分,這個過程就是分分鐘的事情,如果 ncures 沒安裝,就可能拋出如下的錯誤退出。

— Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:85 (MESSAGE):

Curses library not found. Please install appropriate
package, 接下來是 make 操作,我們可以做點改進,那就是加快編譯的速度,使用 - j 參數,根據 CPU 核數指定編譯時的線程數,因為默認是 1 個線程編譯,如果不知道該啟用幾個,可以換算一下。

make -j `grep processor /proc/cpuinfo | wc -l`

滿屏幕的編譯日志,看起來很有成就感。

make 階段的事情做完之后,就是 make install, 這個過程會正式安裝軟件到指定的目錄,也是我們的終極目標。

值得一提的是,如果因為空間問題異常退出,還是最好刪除 CMakeCache.txt 文件,重新 cmake 一遍,然后 make,make install

創建數據庫

這個階段的工作就很常規了,我們簡化一下,兩個命令初始化,啟動數據庫。

啟用的參數模板類似于:

[mysqld]

# server configuration

datadir=/home/mysql_5.7

basedir=/usr/local/mysql_5.7

port=3308

socket=/home/mysql_5.7/mysql.sock

server_id=3308

gtid_mode=ON

enforce_gtid_consistency=ON

master_info_repository=TABLE

relay_log_info_repository=TABLE

binlog_checksum=NONE

log_slave_updates=ON

log_bin=binlog

binlog_format=ROW

innodb_log_file_size=1000M

max_prepared_stmt_count=150000

max_connections = 3000

innodb_buffer_pool_size = 24G5.7 的操作如下:

初始化數據字典:

/usr/local/mysql_5.7/bin/mysqld –initialize-insecure –user=mysql
–basedir=/usr/local/mysql_5.7 –datadir=/home/mysql_5.7 啟動數據庫:

/usr/local/mysql_5.7/bin/mysqld_safe –defaults-file=/home/mysql_5.7/s.cnf

5.6 的操作如下:

初始化數據字典

/usr/local/mysql_5.6/s/mysql_install_db –user=mysql –basedir=/usr/local/mysql_5.6 –datadir=/home/mysql_5.6 啟動數據庫

/usr/local/mysql_5.6/bin/mysqld_safe –defaults-file=/home/mysql_5.6/s.cnf 后面的事情你懂的,我們可以連接到源碼版的數據庫了。

# /usr/local/mysql_5.7/bin/mysql –socket=/home/mysql_5.7/mysql.sock –port=3308

Welcome to the MySQL monitor. Commands end with ; or g.

Your MySQL connection id is 7

Server version: 5.7.17-log Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

enjoy

以上是“MySQL 如何源碼安裝”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-27發表,共計5569字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 利津县| 孝义市| 什邡市| 宣汉县| 太谷县| 德清县| 来凤县| 于田县| 蒙城县| 张家港市| 宁化县| 青田县| 临朐县| 晋中市| 佛冈县| 柳林县| 随州市| 本溪| 四川省| 望江县| 沙湾县| 通许县| 五家渠市| 郁南县| 班玛县| 温州市| 都昌县| 武隆县| 伊吾县| 二手房| 乐清市| 四子王旗| 图们市| 醴陵市| 来宾市| 岳池县| 浦城县| 任丘市| 卓尼县| 绥阳县| 延寿县|