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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

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

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

最近遇到好多MySQL相關的問題,每次從網上查完,總是感覺不透徹。關鍵還是沒有看源碼。一直想學習下MySQL的內部實現,總是邁不出這一步。周末閑來無事,打算嘗試一把。先在Mac上編譯一下。這篇文章簡單記錄下過程。

1 源碼下載

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

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

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

cd mysql-server

git branch -r

git checkout 5.7

復制代碼

2 安裝

官網上有很詳細的步驟。我簡單來整理下。

2.1 前置安裝

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

官方文檔上有介紹 dev.mysql.com/doc/refman/… 如果Mac上缺乏對應的軟件,谷歌下,自己找來安裝即可。

2.2 編譯與安裝

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

cd mysql-server

mkdir bld

cd bld

復制代碼

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

vi ~/.bash_profile

復制代碼

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

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

復制代碼

然后source即可。

source ~/.bash_profile

復制代碼

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

cmake .. -DCMAKE_BUILD_TYPE=Debug

復制代碼

接下來等一會,執行完了之后,會發現多了一個Makefile 文件。

然后執行make即可。

make & make install

復制代碼

3 初始化與啟動

安裝完了,進入初始化環節。

3.1 初始化:

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

復制代碼

其中:

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

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

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

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

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

復制代碼

3.2 啟動

3.2.1 配置

啟動之前,我們需要指定my.cnf 文件,里面有一些基礎配置,啟動時需要。

我自己新建了個配置路徑

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

復制代碼

然后在里面創建my.cnf 文件

cd /Users/xxx/cppProject/mysql-config

vi my.cnf

復制代碼

my.cnf 內容如下:

[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

復制代碼

配置socket 是因為CMAKE操作時沒有指定,導致啟動時會默認放在/tmp/mysql.sock.lock 下面,會有權限問題。自己在my.cnf 指定一下就好。

3.2.2 啟動

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

復制代碼

看下對應mysqld 啟動起來接口。

ps aux | grep mysqld

復制代碼

4 客戶端連接

mysql -uroot -P3307 -p

復制代碼

此時會提示你填入密碼,密碼是上面 3.1 初始化時生成的。

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

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

復制代碼

后面就可以愉快地操作。

下一篇開始分析MySQL的啟動過程。自己嘗試改一下源碼debug下。

5 參考文章

《MySQL 運維內參》

關于找一找教程網

本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。

本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。