命令行登录mysql提示Segmentation fault解决办法
发布时间:01/15 来源: 浏览:
关键词:
我们自己编译的mysql,在使用命令行登录时,提示该错误,经过查阅资料,解决方案如下在源代码目录中,编辑文件 cmd-line-utils/libedit/terminal.c2、terminal_set 方法中:a、注释 char buf[TC_BUFSIZE];b、把 area = buf; 改为 area = NULL;就可以了,具体的方法如下。
使用时报错如下
[root@localhost bin]# ./mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 5.6.24 Source distribution Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Segmentation fault
mysql版本是5.6.24
服务器是CentOS7.0
==========解决方法1============
在源码包里,编辑文件 cmd-line-utils/libedit/terminal.c
把terminal_set方法中的 char buf[TC_BUFSIZE]; 这一行注释,再把 area = buf;改为 area = NULL;
更改后如下
protected int terminal_set(EditLine *el, const char *term) { int i; /*char buf[TC_BUFSIZE];*/ char *area; const struct termcapstr *t; sigset_t oset, nset; int lins, cols; --phpfensi.com (void) sigemptyset(&nset); (void) sigaddset(&nset, SIGWINCH); (void) sigprocmask(SIG_BLOCK, &nset, &oset); area = NULL;
然后重新编译即可