buildroot mysql mysql.mk hacking
/***********************************************************************
* 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的更多相关文章
- Python MySQL ORM QuickORM hacking
# coding: utf-8 # # Python MySQL ORM QuickORM hacking # 说明: # 以前仅仅是知道有ORM的存在,但是对ORM这个东西内部工作原理不是很清楚, ...
- [MySQL] MySQL的自己主动化安装部署
有过MySQL运维的人应该都清楚,线上的MySQL一般都採用源代码编译,由于这样才干够依据企业的各自须要选择要编译的功能,尽管MySQL的源代码编译挺简单的,可是试想一下,假设你有几百台server同 ...
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
有时候,当我们使用"mysql"."mysqladmin"."mysqldump"等命令管理数据库时,服务器抛出类似如下错误: 一.错误现场 ...
- 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 ...
- 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 ...
- 更换mysql数据目录后出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的解决办法
服务器上的mysql默认数据目录为/var/lib/mysql/,同时服务器的/空间不是很大,而近期又有大量的日志需要导入进行分析,时常搞得/的空间捉襟见肘,晚上一狠心就想把mysql的数据目录转移到 ...
- 启动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’ ( ...
- 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 ...
- 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 ...
随机推荐
- Java常用代码工具类相关
1.HttpServletRequest转换成Map public static Map<String,String> parseXML(HttpServletRequest reques ...
- - WebStorm 转载【干货技术贴】之-mac下如何安装WebStorm + 破解
写在前面 之前公司不忙的时候,用闲暇功夫想学习React-Native 苦于找不到一款好的代码编辑器,在广泛搜索以后,发现最适合的就是网页代码编辑器WebStrom,所以就尝试安装和破解,下面我将自己 ...
- Http权威指南学习研究
学习时间: 该学习:第六章 6.6小节 加油 185页 2017年5月15日15:13:00 今天任务: 看完前两章节: ...
- html5+css3实现手机下拉和下拉刷新
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- SQLServer2008 统计表占用空间
1.查看一张表占用的空间大小 EXEC sp_spaceused '表' 1.查看一个数据库中所有表占用空间大小 EXEC sp_MSforeachtable 'sp_spaceused " ...
- Mysql无法创建函数解决办法
执行: set global log_bin_trust_function_creators =1; 原文参照:http://www.cnblogs.com/xd502djj/archive/2012 ...
- nginx-1.10.3 编译安装
1.系统环境 [root@crazy-acong ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@crazy-acong ~] ...
- Redis 配置和使用
Redis的配置 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者me ...
- HTML 5 本地存储
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- spring AOP简单实现代码存放
@Before:使用Before增强处理只能在目标方法执行之前织入增强,如果Before增强处理没有特殊处理,目标方法总会自动执行,如果Before处需要阻止目标方法的执行,可通过抛出一个异常来实现. ...