Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1683049
  • 博文数量: 391
  • 博客积分: 8464
  • 博客等级: 中将
  • 技术积分: 4589
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-13 15:12
个人简介

狮子的雄心,骆驼的耐力,孩子的执著!

文章分类

全部博文(391)

文章存档

2023年(4)

2018年(9)

2017年(13)

2016年(18)

2014年(7)

2013年(29)

2012年(61)

2011年(49)

2010年(84)

2009年(95)

2008年(22)

分类: LINUX

2017-01-13 19:18:45

# cat file.txt

1
2
  
3
   
4
          
5
                
6
# sed '/^\s*$/d' file.txt  #删除空行
1
2
3
4
5
6

查看编译安装的mysql5.5之后版本,编译时cmake 所使用的参数
# cd /usr/local/mysql5.5/docs

# vim INFO_BIN  (其中 Pointer size: 8 一行之后的内容就是所要的参数,需要注意的是,这里的参数的书写格式并不是在执行 cmake 命令时参数的标准格式 ,使用的时候要去掉 :BOOL或 PATH: 等字符)



  1. ===== Information about the build process: =====
  2. Build was run at 2014-09-13 23:14:29 on host 'rhel5-8-1.breeze.com'

  3. Build was done on Linux-2.6.18-308.el5 using i686
  4. Build was done using cmake 3.0.2

  5. ===== Compiler flags used (from the 'sql/' subdirectory): =====
  6. # compile C with /usr/bin/cc
  7. # compile CXX with /usr/bin/c++
  8. C_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DMYSQL_SERVER
  9. CXX_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DMYSQL_SERVER

  10. Pointer size: 4

  11. ===== Feature flags used: =====
  12. -- Cache values
  13. CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
  14. CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql5.5
  15. COMMUNITY_BUILD:BOOL=ON
  16. ENABLED_PROFILING:BOOL=ON
  17. ENABLE_DEBUG_SYNC:BOOL=ON
  18. ENABLE_GCOV:BOOL=OFF
  19. INSTALL_LAYOUT:STRING=STANDALONE
  20. MYSQL_DATADIR:PATH=/usr/local/mysql5.5/var
  21. MYSQL_MAINTAINER_MODE:BOOL=OFF
  22. TMPDIR:PATH=P_tmpdir
  23. WITH_ARCHIVE_STORAGE_ENGINE:BOOL=OFF
  24. WITH_ASAN:BOOL=OFF
  25. WITH_BLACKHOLE_STORAGE_ENGINE:BOOL=OFF
  26. WITH_DEBUG:BOOL=OFF
  27. WITH_EMBEDDED_SERVER:BOOL=OFF
  28. WITH_EXTRA_CHARSETS:STRING=all
  29. WITH_FEDERATED_STORAGE_ENGINE:BOOL=OFF
  30. WITH_INNOBASE_STORAGE_ENGINE:BOOL=ON
  31. WITH_LIBEDIT:BOOL=ON
  32. WITH_LIBWRAP:BOOL=OFF
  33. WITH_PARTITION_STORAGE_ENGINE:BOOL=ON
  34. WITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON
  35. WITH_PIC:BOOL=OFF
  36. WITH_READLINE:BOOL=OFF
  37. WITH_SSL:STRING=no
  38. WITH_UNIT_TESTS:BOOL=ON
  39. WITH_VALGRIND:BOOL=OFF
  40. WITH_ZLIB:STRING=system

  41. ===== EOF =====


复制编译参数到build-config文件,因为sed是按行处理文本的,每次只读入一行到内部模式空间内。

因此要删除换行符,需要用sed的N命令全部读入(append方式)所有内容后再用s命令全局替换换行符为空。

  1. [root@localhost mysql]# sed 's/^/-D/g' build-config
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
  3. -DCOMMUNITY_BUILD=ON
  4. -DENABLED_PROFILING=ON
  5. -DENABLE_DEBUG_SYNC=ON
  6. -DENABLE_GCOV=OFF
  7. -DEVENT_LIBRARY=EVENT_LIBRARY-NOTFOUND
  8. -DGROFF=/usr/bin/groff
  9. -DINSTALL_LAYOUT=STANDALONE
  10. -DMYSQL_DATADIR=/var/lib/mysql
  11. -DNOT_FOR_DISTRIBUTION=OFF
  12. -DNROFF=/usr/bin/nroff
  13. -DUSE_ARIA_FOR_TMP_TABLES=ON
  14. -DWITH_ARCHIVE_STORAGE_ENGINE=OFF
  15. -DWITH_ARIA_STORAGE_ENGINE=ON
  16. -DWITH_BLACKHOLE_STORAGE_ENGINE=ON
  17. -DWITH_EMBEDDED_SERVER=OFF
  18. -DWITH_EXTRA_CHARSETS=all
  19. -DWITH_FEDERATEDX_STORAGE_ENGINE=OFF
  20. -DWITH_FEEDBACK=OFF
  21. -DWITH_LIBWRAP=OFF
  22. -DWITH_PARTITION_STORAGE_ENGINE=ON
  23. -DWITH_PERFSCHEMA_STORAGE_ENGINE=ON
  24. -DWITH_PIC=OFF
  25. -DWITH_QUERY_CACHE_INFO=OFF
  26. -DWITH_READLINE=1
  27. -DWITH_SAFEMALLOC=AUTO
  28. -DWITH_SPHINX_STORAGE_ENGINE=OFF

  29. [root@localhost mysql]# sed -n 'N;N;N;N;s/\n/ /g;p' build-config
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DCOMMUNITY_BUILD=ON -DENABLED_PROFILING=ON -DENABLE_DEBUG_SYNC=ON -DENABLE_GCOV=OFF
    -DEVENT_LIBRARY=EVENT_LIBRARY-NOTFOUND -DGROFF=/usr/bin/groff -DINSTALL_LAYOUT=STANDALONE -DMYSQL_DATADIR=/var/lib/mysql -DNOT_FOR_DISTRIBUTION=OFF
    -DNROFF=/usr/bin/nroff -DUSE_ARIA_FOR_TMP_TABLES=ON -DWITH_ARCHIVE_STORAGE_ENGINE=OFF -DWITH_ARIA_STORAGE_ENGINE=ON -DWITH_BLACKHOLE_STORAGE_ENGINE=ON
    -DWITH_EMBEDDED_SERVER=OFF -DWITH_EXTRA_CHARSETS=all -DWITH_FEDERATEDX_STORAGE_ENGINE=OFF -DWITH_FEEDBACK=OFF -DWITH_LIBWRAP=OFF
    -DWITH_PARTITION_STORAGE_ENGINE=ON -DWITH_PERFSCHEMA_STORAGE_ENGINE=ON -DWITH_PIC=OFF -DWITH_QUERY_CACHE_INFO=OFF -DWITH_READLINE=1
用sed做还得考虑要读入多少行的问题,所以这里其实用awk做会更简单。


就上面这个例子:


  1. awk -v RS="" '{gsub("\n"," ");print}' build-config
设置记录分隔符()为空,即将所有文件内容看作一条记录(默认是一行一条记录)。

用awk的内置函数gsub全局替换换行符为空格,之后print打印即可。

mysqlnd是什么
http://lylgxy0704wht.blog.163.com/blog/static/57048039201541534414179/

cmake报错,补充安装依赖包

  1. yum install -y gcc gcc-c++
  2. yum install -y ncurses-devel.x86_64
  3. yum install -y cmake.x86_64
  4. yum install -y libaio.x86_64
  5. yum install -y bison.x86_64
  6. yum install -y gcc-c++.x86_64


阅读(3350) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~