zoukankan      html  css  js  c++  java
  • 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目录,重新操作即可

  • 相关阅读:
    Html 回顾
    Parallel 并行编程
    Task---常用的多线程(基于多线程线程)
    Threadpool 可以对线程加以管理的封装
    AsyncThreads---异步多线程
    Abstract 封装,继承,多态
    IO&&Serize 利用线程Thread.Sleep实现"自动输出"
    Ling && Lambda
    Delegate&&Event
    Delegate &&Lambda
  • 原文地址:https://www.cnblogs.com/luckyCoder/p/14191146.html
Copyright © 2011-2022 走看看