日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mac 编译mysql 源码_Mac上编译MySQL源码与安装

發(fā)布時(shí)間:2023/12/31 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mac 编译mysql 源码_Mac上编译MySQL源码与安装 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近遇到好多MySQL相關(guān)的問題,每次從網(wǎng)上查完,總是感覺不透徹。關(guān)鍵還是沒有看源碼。一直想學(xué)習(xí)下MySQL的內(nèi)部實(shí)現(xiàn),總是邁不出這一步。周末閑來(lái)無(wú)事,打算嘗試一把。先在Mac上編譯一下。這篇文章簡(jiǎn)單記錄下過(guò)程。

1 源碼下載

直接從github 上下載了源碼。git 地址: github.com/mysql/mysql…

最新的分支是8.0, 由于項(xiàng)目中使用了5.7 ,所以我切換到了5.7 的分支。

git clone https://github.com/mysql/mysql-server.git

cd mysql-server

git branch -r

git checkout 5.7

復(fù)制代碼

2 安裝

官網(wǎng)上有很詳細(xì)的步驟。我簡(jiǎn)單來(lái)整理下。

2.1 前置安裝

主要有CMake、C++ compiler、SSL、boost、ncurses

官方文檔上有介紹 dev.mysql.com/doc/refman/… 如果Mac上缺乏對(duì)應(yīng)的軟件,谷歌下,自己找來(lái)安裝即可。

2.2 編譯與安裝

跳轉(zhuǎn)到mysql-server目錄下,為了避免污染源碼,我們需要新建一個(gè)bld的文件夾。

cd mysql-server

mkdir bld

cd bld

復(fù)制代碼

接下來(lái)就是執(zhí)行CMAKE 了。由于CMAKE 需要依賴boost,所以在CMAKE 時(shí),需要指定boost的路徑。為了避免每次都操作,我再bash_profile 中,增加了alias.

vi ~/.bash_profile

復(fù)制代碼

增加如下alias: 注意boost路徑改成你自己的。

alias cmake="cmake -DWITH_BOOST=/Users/xxxx/cppProject/boost_1_59_0"

復(fù)制代碼

然后source即可。

source ~/.bash_profile

復(fù)制代碼

然后執(zhí)行CMAKE. 加了 -DCMAKE_BUILD_TYPE=Debug 是為了開啟debug模式。

cmake .. -DCMAKE_BUILD_TYPE=Debug

復(fù)制代碼

接下來(lái)等一會(huì),執(zhí)行完了之后,會(huì)發(fā)現(xiàn)多了一個(gè)Makefile 文件。

然后執(zhí)行make即可。

make & make install

復(fù)制代碼

3 初始化與啟動(dòng)

安裝完了,進(jìn)入初始化環(huán)節(jié)。

3.1 初始化:

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/Users/xxxx/cppProject/mysql-data

復(fù)制代碼

其中:

basedir 是指你的mysql安裝在哪兒了。 (具體需要換成你自己的路徑)

datadir 是指MySQL后續(xù)的數(shù)據(jù)存放在哪兒。(具體需要換成你自己的路徑)

注意: 這兒執(zhí)行完會(huì)生成mysql root賬號(hào)的密碼,后面在客戶端連接時(shí),5.7版本需要用到,自己別忘了記錄下

類似這種: 其中 B3eJGemen=Wz 就是root的密碼。

[Note] A temporary password is generated for root@localhost: B3eJGemen=Wz

復(fù)制代碼

3.2 啟動(dòng)

3.2.1 配置

啟動(dòng)之前,我們需要指定my.cnf 文件,里面有一些基礎(chǔ)配置,啟動(dòng)時(shí)需要。

我自己新建了個(gè)配置路徑

mkdir -p /Users/xxx/cppProject/mysql-config

復(fù)制代碼

然后在里面創(chuàng)建my.cnf 文件

cd /Users/xxx/cppProject/mysql-config

vi my.cnf

復(fù)制代碼

my.cnf 內(nèi)容如下:

[mysqld]

port=3307

datadir=/Users/xxx/cppProject/mysql-data

log_error=/Users/xxx/cppProject/mysql-data/error.log

basedir=/usr/local/mysql

socket=/Users/xxx/cppProject/mysql-data/mysql.sock

[client]

socket=/Users/xxx/cppProject/mysql-data/mysql.sock

復(fù)制代碼

配置socket 是因?yàn)镃MAKE操作時(shí)沒有指定,導(dǎo)致啟動(dòng)時(shí)會(huì)默認(rèn)放在/tmp/mysql.sock.lock 下面,會(huì)有權(quán)限問題。自己在my.cnf 指定一下就好。

3.2.2 啟動(dòng)

mysqld --defaults-file=/Users/xxx/cppProject/mysql-config/my.cnf --user=mysql

復(fù)制代碼

看下對(duì)應(yīng)mysqld 啟動(dòng)起來(lái)接口。

ps aux | grep mysqld

復(fù)制代碼

4 客戶端連接

mysql -uroot -P3307 -p

復(fù)制代碼

此時(shí)會(huì)提示你填入密碼,密碼是上面 3.1 初始化時(shí)生成的。

填入之后,然后重置密碼即可。

alter user 'root'@'localhost' identified by '12345678';

復(fù)制代碼

后面就可以愉快地操作。

下一篇開始分析MySQL的啟動(dòng)過(guò)程。自己嘗試改一下源碼debug下。

5 參考文章

《MySQL 運(yùn)維內(nèi)參》

關(guān)于找一找教程網(wǎng)

本站文章僅代表作者觀點(diǎn),不代表本站立場(chǎng),所有文章非營(yíng)利性免費(fèi)分享。

本站提供了軟件編程、網(wǎng)站開發(fā)技術(shù)、服務(wù)器運(yùn)維、人工智能等等IT技術(shù)文章,希望廣大程序員努力學(xué)習(xí),讓我們用科技改變世界。

[Mac上編譯MySQL源碼與安裝]http://www.zyiz.net/tech/detail-122492.html

總結(jié)

以上是生活随笔為你收集整理的mac 编译mysql 源码_Mac上编译MySQL源码与安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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