/***********************************************************************
*        buildroot mysql mysql.mk hacking
* 说明:
* 大致看一下buildroot中mysql是如何进行配置,主要是看运行./configure
* 的时候配置,有时候配置buildroot的时候,有些选项不知道,也可以到这些
* mk文件去看看,这样就知道在make menuconfig中打开什么选项了。
*
* 2017-2-10 深圳 南山平山村 曾剑锋
**********************************************************************/ ################################################################################
#
# mysql
#
################################################################################ # mysql主版本号
MYSQL_VERSION_MAJOR = 5.1
# mysql次版本号+次版本号
MYSQL_VERSION = $(MYSQL_VERSION_MAJOR).
# mysql源代码包名称
MYSQL_SOURCE = mysql-$(MYSQL_VERSION).tar.gz
# mysql源代码路径
MYSQL_SITE = http://dev.mysql.com/get/Downloads/MySQL-$(MYSQL_VERSION_MAJOR)
MYSQL_INSTALL_STAGING = YES
MYSQL_DEPENDENCIES = readline ncurses
MYSQL_AUTORECONF = YES
MYSQL_LICENSE = GPLv2
MYSQL_LICENSE_FILES = README COPYING # Unix socket. This variable can also be consulted by other buildroot packages
MYSQL_SOCKET = /run/mysql/mysql.sock MYSQL_CONF_ENV = \
ac_cv_sys_restartable_syscalls=yes \
ac_cv_path_PS=/bin/ps \
ac_cv_FIND_PROC="/bin/ps p \$\$PID | grep -v grep | grep mysqld > /dev/null" \
ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_GCC=yes \
ac_cv_have_decl_HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS=no \
ac_cv_have_decl_HAVE_IB_GCC_ATOMIC_BUILTINS=yes \
mysql_cv_new_rl_interface=yes MYSQL_CONF_OPTS = \
--without-ndb-binlog \
--without-docs \
--without-man \
--without-libedit \
--without-readline \
--with-low-memory \
--enable-thread-safe-client \
--with-unix-socket-path=$(MYSQL_SOCKET) \
--disable-mysql-maintainer-mode # host-mysql only installs what is needed to build mysql, i.e. the
# gen_lex_hash tool, and it only builds the parts that are needed to
# create this tool
HOST_MYSQL_DEPENDENCIES = host-zlib host-ncurses HOST_MYSQL_CONF_OPTS = \
--with-embedded-server \
--disable-mysql-maintainer-mode define HOST_MYSQL_BUILD_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/include my_config.h
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/mysys libmysys.a
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/strings libmystrings.a
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/vio libvio.a
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/dbug libdbug.a
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/regex libregex.a
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/sql gen_lex_hash
endef define HOST_MYSQL_INSTALL_CMDS
$(INSTALL) -m $(@D)/sql/gen_lex_hash $(HOST_DIR)/usr/bin/
endef ifeq ($(BR2_PACKAGE_OPENSSL),y)
MYSQL_DEPENDENCIES += openssl
endif ifeq ($(BR2_PACKAGE_ZLIB),y)
MYSQL_DEPENDENCIES += zlib
endif ifeq ($(BR2_PACKAGE_MYSQL_SERVER),y)
MYSQL_DEPENDENCIES += host-mysql host-bison MYSQL_CONF_OPTS += \
--localstatedir=/var/mysql \
--with-atomic-ops=up \
--with-embedded-server \
--without-query-cache \
--without-plugin-partition \
--without-plugin-daemon_example \
--without-plugin-ftexample \
--without-plugin-archive \
--without-plugin-blackhole \
--without-plugin-example \
--without-plugin-federated \
--without-plugin-ibmdb2i \
--without-plugin-innobase \
--without-plugin-innodb_plugin \
--without-plugin-ndbcluster # Debugging is only available for the server, so no need for
# this if-block outside of the server if-block
ifeq ($(BR2_ENABLE_DEBUG),y)
MYSQL_CONF_OPTS += --with-debug=full
else
MYSQL_CONF_OPTS += --without-debug
endif define MYSQL_USERS
mysql - nogroup - * /var/mysql - - MySQL daemon
endef define MYSQL_ADD_FOLDER
$(INSTALL) -d $(TARGET_DIR)/var/mysql
endef MYSQL_POST_INSTALL_TARGET_HOOKS += MYSQL_ADD_FOLDER # 安装mysql的SysV开机自启动文件
define MYSQL_INSTALL_INIT_SYSV
$(INSTALL) -D -m package/mysql/S97mysqld \
$(TARGET_DIR)/etc/init.d/S97mysqld
endef # 安装mysql的Systemd开机自启动文件
define MYSQL_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m package/mysql/mysqld.service \
$(TARGET_DIR)/usr/lib/systemd/system/mysqld.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -sf ../../../../usr/lib/systemd/system/mysqld.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mysqld.service
endef else
MYSQL_CONF_OPTS += \
--without-server
endif define MYSQL_REMOVE_TEST_PROGS
rm -rf $(TARGET_DIR)/usr/mysql-test $(TARGET_DIR)/usr/sql-bench
endef MYSQL_POST_INSTALL_TARGET_HOOKS += MYSQL_REMOVE_TEST_PROGS $(eval $(autotools-package))
$(eval $(host-autotools-package))

buildroot mysql mysql.mk hacking的更多相关文章

  1. Python MySQL ORM QuickORM hacking

    # coding: utf-8 # # Python MySQL ORM QuickORM hacking # 说明: # 以前仅仅是知道有ORM的存在,但是对ORM这个东西内部工作原理不是很清楚, ...

  2. [MySQL] MySQL的自己主动化安装部署

    有过MySQL运维的人应该都清楚,线上的MySQL一般都採用源代码编译,由于这样才干够依据企业的各自须要选择要编译的功能,尽管MySQL的源代码编译挺简单的,可是试想一下,假设你有几百台server同 ...

  3. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    有时候,当我们使用"mysql"."mysqladmin"."mysqldump"等命令管理数据库时,服务器抛出类似如下错误: 一.错误现场 ...

  4. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    从供应商手中接手一个云平台(Windwos Azure)上的MySQL数据库,登录数据库时遇到错误: $mysql -uroot -p Enter password: ERROR 2002 (HY00 ...

  5. mac ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib /mysql/mysql.sock' (111)

    之前装了mysql,今天打开mysql的时候报了个Can't connect to local MySQL server through socket '/var/lib /mysql/mysql.s ...

  6. 更换mysql数据目录后出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的解决办法

    服务器上的mysql默认数据目录为/var/lib/mysql/,同时服务器的/空间不是很大,而近期又有大量的日志需要导入进行分析,时常搞得/的空间捉襟见肘,晚上一狠心就想把mysql的数据目录转移到 ...

  7. 启动mysql错误ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ ( ...

  8. ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)--MySQL错误

    MySQL错误整理: 错误一: ERROR (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/my ...

  9. Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’解决方法 + Linux启动/停止/重启Mysql数据库的方法

    启动mysql 报错: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/m ...

随机推荐

  1. 获取系统时间的DOS命令

    DOS C:\Users\yaozhendong>echo %date:~0,10% %time%2011/12/24 19:45:41.25 前段时间工作中需要对一个地址做定时PING操作,并 ...

  2. Web客户端语言HTML、XHTML和XML相关知识介绍

    HTML简介 HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言.HTML文本是由HTM ...

  3. lua例子getglobal()

    #include <stdio.h> #define MAX_COLOR 255 extern "C" { #include "lua-5.2.2/src/l ...

  4. 【CodeM初赛A轮】D 分解质因数+暴力

    题目描述树链是指树里的一条路径.美团外卖的形象代言人袋鼠先生最近在研究一个特殊的最长树链问题.现在树中的每个点都有一个正整数值,他想在树中找出最长的树链,使得这条树链上所有对应点的值的最大公约数大于1 ...

  5. springboot工程的结构

    1 springboot的工程结构是什么 就是我们组织springboot工程时遵循的代码的目录结构. 2 spring initializr创建的工程的目录结构 源码目录:src/main/java ...

  6. polynomial time

    https://en.wikipedia.org/wiki/Time_complexity#Polynomial_time An algorithm is said to be of polynomi ...

  7. 【python】-- 字符串、字符编码与转码

    字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可:访问子字符串,可以使用方括号来截取字符串: var1 ...

  8. [luogu4315]月下“毛景树”

    [luogu4315]月下"毛景树" luogu 联赛前复习一发树剖.不会告诉你WA了4发 #define ls x<<1,l,mid #define rs x< ...

  9. Linux项目部署发布

    Linux项目部署发布 1.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper pip3 install -i https://pypi.douban.com/sim ...

  10. 怎样解决KEIL 5 编译KEIL4的带有RTX系统的project解决方法

        1.笔者个人对KEIL5与KEIL4的比較             相较于KEIL 5 的"华丽",笔者还是喜欢KEIL4的"内敛".主要也还是习惯了, ...