libicuuc版本不一致,无法初始化mysql

问题描述

  1. Archlinux滚动更新后挂了,重新安装。本地libicuuc版本是比编译mysql的版本高,mysql无法初始化,解决方案是下载需要的版本,软链接
    mysqld: error while loading shared libraries: libicuuc.so.65
    

解决方法

  1. [官网下载libicuuc指定版本]http://site.icu-project.org/home

  2. 安装libicuuc

          $ tar -zxvf <package>
          $ cd icu/source
          $ ./configure
          $ make
          $ sudo make install
    
    
  3. 创建链接

    sudo ln -s /usr/local/lib/libicuuc.so.67 /usr/lib/libicuuc.so.67
    sudo ln -s /usr/local/lib/libicui18n.so.67 /usr/lib/libicui18n.so.67
    sudo ln -s /usr/local/lib/libicudata.so.67 /usr/lib/libicudata.so.67
    
    • 此处包具体版本根据你下载的来替换,比方说你下载使用的是68版本,替换对应数字即可
  4. 重新安装MySQL

    • 卸载之前安装失败的版本,sudo pacman -Rns mysql
    • 移除安装目录,sudo rm -rf /var/lib/mysql
    • 重新安装,sudo pacman -S mysql
    • 初始化,sudo mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql ,显示如下信息则初始化成功

    初始化成功如图

    • 开启服务,systemctl start mysqld.service

    • 登录,mysql -u root -p,粘贴初始化的密码

    • 改密码如下

      ```shell
      ALTER user 'root'@'localhost' IDENTIFIED BY 'new_password';
      flush privileges;
      ```
      
    • 至此完成,若安装失败,需要卸载mysql,然后删除 var下的mysql目录,重新操作即可

原文地址:https://www.cnblogs.com/luckyCoder/p/14191146.html