mac os源碼編譯MYSQL

一、brew安裝

確保系統已經安裝xcode,打開終端,使用下面行命令安裝依賴管理工具Homebrew。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

mysql需依賴ncurses庫,執行如下操作:

brew install ncurses

二、安裝包下載

切換到root賬戶操作:

su root

mkdir -p /usr/local/soft

cd/usr/local/soft

curl -O https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz

說明:cmake用比較新的版本編譯,舊2.8版本無法成功。

curl -O http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-5.5/mysql-5.5.45.tar.gz

二、解壓安裝包

tar zxvf cmake-3.4.1.tar.gz

tar zxvf mysql-5.5.45.tar.gz

二、編譯cmake

cd cmake-3.4.1

./configure

make && make install

二、編譯mysql

1.編譯

說明:mysql用戶和用戶組使用mac os自帶的_mysql和_mysql。

cd ../mysql-5.5.45

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=_mysql -DMYSQL_TCP_PORT=3306

注意:-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 需確保此路徑_mysql用戶和用戶組有讀寫的權限。

-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1

根據需要是否添加安裝。

-DMYSQL_DATADIR=/data/mysql/data

可以自定義設置mysql數據存放路徑。如果不是默認安裝路徑,需注意設定:

chown -R _mysql._mysql /data/mysql/data

make && make install

2.配置

cd /usr/local/mysql

cp -f support-files/my-huge.cnf /etc/my.cnf

vim /etc/my.cnf

socket       = /tmp/mysqld.sock

key_buffer_size = 384M

max_allowed_packet = 16M

innodb_data_home_dir =  /data/mysql/data  去掉#

innodb_data_file_path = ibdata1:2000M;ibdata2:10M;autoextend 去掉#

innodb_log_group_home_dir = /data/mysql/data 去掉#

innodb_buffer_pool_size = 384M 去掉#innodb_additional_mem_pool_size = 20M 去掉#innodb_log_file_size = 100M 去掉#innodb_log_buffer_size = 8M 去掉#innodb_flush_log_at_trx_commit = 1 去掉#innodb_lock_wait_timeout = 50 去掉#

:wq保存。

scripts/mysql_install_db --user=mysql

(如果自定義數據位置:

scripts/mysql_install_db --datadir=/data/mysql/data/--datadir=/data/mysql/data/ --user=mysql )

3.命令彙總

啓動:/usr/local/mysql/support-files/mysql.server start

重啓:/usr/local/mysql/support-files/mysql.server restart

關閉:/usr/local/mysql/support-files/mysql.server stop

4.開機啓動

創建開機啓動執行plist文件

vim /Library/LaunchDaemons/com.mysqld.service.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>com.mysqld.service</string>
        <key>KeepAlive</key>
        <false/>
        <key>RunAtLoad</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
                <string>/usr/local/mysql/bin/mysqld_safe</string>
                <string>--user=_mysql</string>
        </array>
</dict>
</plist>

:wq 保存。

sudo chmod 755 /Library/LaunchDaemons/com.mysqld.service.plist

啓動服務並載入plist文件:

sudo launchctl load /Library/LaunchDaemons/com.mysqld.service.plist

可以reboot一下系統,查看mysql是否正常開機啓動。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章