mysql源码安装
http://www.cnblogs.com/fly1988happy/archive/2011/11/21/2257682.html
http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.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://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,就可以在命令行中正常登录了。
- 调试问题:Fatal error: Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist
- 解决方法:scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –user=mysql
- 修改登录密码:mysqladmin -u root -p password 123456
- 无法远程登录:update user set host = ‘%’ where user = ‘root’;