mysql源码安装
http://www.2cto.com/database/201303/193673.html
http://www.2cto.com/database/201304/204864.html
mysql安装过程中问题
需要安装ncurse包,无法通过apt-get install ncurses-devel及apt-get install ncurses进行安装
解决方法:sudo apt-get install libncurses5-dev 包搜索:http://packages.ubuntu.com/
安装ncurses后任然无法找到
# find / -name *curses*
/usr/include/curses.h
/usr/include/cursesapp.h
/usr/include/ncurses
...省略...
/usr/lib64/libcursesw.so
/usr/lib64/libncursesw.so
/usr/lib64/libncurses.so
/usr/lib64/libcurses.so
查找到ncurses库目录,然后用-D参数定义宏,指定头文件和库的所在目录
# cmake . -DCURSES_LIBRARY=/usr/lib64/ -DCURSES_INCLUDE_PATH=/usr/include/
执行如下命令:
cmake . \
-DCURSES_LIBRARY=/usr/lib/x86_64-linux-gnu/ \
-DCURSES_INCLUDE_PATH=/usr/include/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1
登陆段错误解决方法
http://blog.sina.com.cn/s/blog_697b96890101jj8f.html
http://space.wudiweb.com/phychion/blog/111
1. 在MySQL 5.6.16 源码包里,编辑文件 cmd-line-utils/libedit/terminal.c
2. 找到代码段类似 char buf[TC_BUFSIZE]; 的,将其注释,并找到下面的变量 area = buf; ,将其更改为 area = NULL;
更正后的代码类似:
865 protected int
866 terminal_set(EditLine *el, const char *term)
867 {
868 int i;
869 /*char buf[TC_BUFSIZE];*/
870 char *area;
871 const struct termcapstr *t;
872 sigset_t oset, nset;
873 int lins, cols;
874
875 (void) sigemptyset(&nset);
876 (void) sigaddset(&nset, SIGWINCH);
877 (void) sigprocmask(SIG_BLOCK, &nset, &oset);
878
879 area = NULL;
保存后,重新编译MySQL,就可以在命令行中正常登录了。