安裝MySQL 5.6.16登入出錯:段錯誤 (Segmentation fault)解決辦法

來源:互聯網
上載者:User

Centos 6.5 安裝 MySQL 5.6.16 後,使用命令登入出錯:

[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
 
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;

更正後的代碼類似:

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,就可以在命令列中正常登入了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.