设为首页收藏本站

追梦Linux

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 88|回复: 0

安装MySQL 5.6.16登录出错:段错误 (Segmentation fault)解决办法

[复制链接]

482

主题

485

帖子

16万

积分

CEO

Rank: 9Rank: 9Rank: 9

积分
167821

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2018-8-13 20:40:58 | 显示全部楼层 |阅读模式
Centos 6.5 安装 MySQL 5.6.16 后,使用命令登录出错:
[Bash shell] 纯文本查看 复制代码
[root@test mysql-5.6.16]# mysql -u root -p
Enter password:  
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.16-log Source distribution
--phpfensi.com
Copyright (c) 2000, 2014, 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”,查找过许多方法都不能成功,最后终于在国外网站上看到关于这个bug的解决方法:https://bugs.launchpad.net/percona-server/+bug/1201123,按照上面的介绍,解决问题步骤如下.

1.在MySQL 5.6.16 源码包里,编辑文件 cmd-line-utils/libedit/terminal.c

2.找到代码段类似 char buf[TC_BUFSIZE]; 的,将其注释,并找到下面的变量 area = buf;,将其更改为 area = NULL;

更改后如下:

[Bash shell] 纯文本查看 复制代码
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; 

保存后,重新编译MySQL,就可以在命令行中正常登录了.


QQ|小黑屋|手机版|Archiver|追梦Linux ( 粤ICP备14096197号  点击这里给我发消息

GMT+8, 2018-10-21 14:24 , Processed in 0.306707 second(s), 32 queries .

Powered by 追梦Linux! X3.3 Licensed

© 2015-2017 追梦Linux!.

快速回复 返回顶部 返回列表