<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          動態(tài)庫libstdc++.so.6及l(fā)ibc.so.6版本過低導致MySQL無法安裝

          共 4166字,需瀏覽 9分鐘

           ·

          2022-07-11 00:36

          點擊上方藍字關注我

          最近安裝新版本MySQL(Percona Server)時發(fā)現(xiàn)所依賴的libstdc++.so.6、libc.so.6均較高(尤其在Centos 6版本上安裝時),導致無法完成數(shù)據(jù)庫安裝。

          因Percona官方文檔也有說明5.7.31版本后不再是OpenSSL庫方式的二進制包了。

          升級動態(tài)庫并安裝新版本MySQL的案例如下文所示。

          1、初始化報錯

          安裝Percona Server 5.7.38-41,進行初始化,將出現(xiàn)如下報錯信息:

          [root@c6 mysql5.7]# bin/mysqld --defaults-file=/data/mysql/mysql3306/etc/my.cnf  --initialize --user=mysql bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

          此報錯直接安裝numactl即可解決。

          yum install -y numactl

          再次初始化時,報錯信息如下:

          bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bin/mysqld)bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by bin/mysqld)bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by bin/mysqld)bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/Percona-Server-5.7.38-41-Linux.x86_64.glibc2.17/bin/../lib/private/libssl.so)bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /usr/local/Percona-Server-5.7.38-41-Linux.x86_64.glibc2.17/bin/../lib/private/libssl.so)bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/Percona-Server-5.7.38-41-Linux.x86_64.glibc2.17/bin/../lib/private/libcrypto.so)bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /usr/local/Percona-Server-5.7.38-41-Linux.x86_64.glibc2.17/bin/../lib/private/libcrypto.so)

          提示找不到對應的依賴包GLIBCXX_3.4.15以及 GLIBC_2.14 - GLIBC_2.18

          查看系統(tǒng)對應的版本為Centos6.9)GLIBCXX_3.4.13以及 GLIBC_2.12,(Centos7.6 GLIBCXX_3.4.15以及 GLIBC_2.17) 因此需安裝對應依賴包,其對應的動態(tài)庫分別為: 

          GLIBCXX_3.4.15 -->libstdc++.so.6GLIBC_2.18 -->libc.so.6

          2.  升級libstdc++.so.6

          下載libstdc++6包

          wget http://ftp.de.debian.org/debian/pool/main/g/gcc-4.9/libstdc++6_4.9.2-10+deb8u1_amd64.deb

          進行安裝

          ar -x libstdc++6_4.9.2-10+deb8u1_amd64.debxz -d data.tar.xztar -xvf data.tar
          cp libstdc++.so.6.0.20sln libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6chmod +x libstdc++.so.6.0.20sln libstdc++.so.6.0.20 libstdc++.so.6

          此時再查看對應版本已升級完畢:

          strings /usr/lib64/libstdc++.so.6|grep GLIBCGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19GLIBCXX_3.4.20GLIBC_2.3GLIBC_2.2.5GLIBC_2.14GLIBC_2.18GLIBC_2.17GLIBC_2.3.2GLIBCXX_DEBUG_MESSAGE_LENGTH

          3.  升級libc.so.6

          本次僅升級到GLIBC_2.18,滿足當前要求即可。

          下載源碼包(rpm也可,本次通過源碼包編譯安裝)

          wget  http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz

          編譯安裝:

          tar -zxvf glibc-2.18.tar.gzcd glibc/mkdir  buildcd build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/binmake && make install  # make的時間較長

          編譯安裝完成后執(zhí)行如下命令

          strings /lib64/libc.so.6 |grep GLIBC

          如安裝過程出現(xiàn)如下錯誤,則需提前安裝gcc-c++包,yum直接安裝即可

          如果configure過程中出現(xiàn)如下錯誤

          * LD_LIBRARY_PATH shouldn’t contain the current directory when* building glibc. Please change theenvironment variableand run configure again.
          ?

          則直接在當前會話窗口將 LD_LIBRARY_PATH 置為空后再次運行即可

          LD_LIBRARY_PATH=''

          3. 脫坑提示

          不要直接編譯到其他路徑后通過軟連接的形式升級libc.so.6,否則可能導致所有很多命令無法運行,例如執(zhí)行l(wèi)l 命令(其他命令也一樣)時出現(xiàn)如下錯誤

          ls: relocation error: /usr/local/glibc-2.18/lib/libc.so.6: symbol _dl_find_dso_for_object, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time referenceid: relocation error: /usr/local/glibc-2.18/lib/libc.so.6: symbol _dl_find_dso_for_object, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference
          ??

          也會出現(xiàn)缺少其他動態(tài)庫的情況。

          恢復方案:

          千萬不要關閉當前會話!!!通過export LD_PRELOAD= 修復修改已調(diào)整的庫執(zhí)行 ldconfig (通常能恢復),如不行,則繼續(xù)下一步

          其他的坑可能也有,大家遇到了可以相互交流。


          往期精彩回顧

          1.  MySQL高可用之MHA集群部署

          2.  mysql8.0新增用戶及加密規(guī)則修改的那些事

          3.  比hive快10倍的大數(shù)據(jù)查詢利器-- presto

          4.  監(jiān)控利器出鞘:Prometheus+Grafana監(jiān)控MySQL、Redis數(shù)據(jù)庫

          5.  PostgreSQL主從復制--物理復制

          6.  MySQL傳統(tǒng)點位復制在線轉(zhuǎn)為GTID模式復制

          7.  MySQL敏感數(shù)據(jù)加密及解密

          8.  MySQL數(shù)據(jù)備份及還原(一)

          9.  MySQL數(shù)據(jù)備份及還原(二)

          掃碼關注     






          瀏覽 50
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久黄片视频 | 无码高清毛片 | 91ThePorn国产 | 99国产在线观看免费 | 亚洲中文州字幕不卡在线 |