mac os源码编译MYSQL

来源:互联网 发布:access 多少条数据 编辑:程序博客网 时间:2024/06/05 02:47

一、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是否正常开机启动。

0 0
原创粉丝点击