libicuuc版本不一致,无法初始化mysql
问题描述
- Archlinux滚动更新后挂了,重新安装。本地libicuuc版本是比编译mysql的版本高,mysql无法初始化,解决方案是下载需要的版本,软链接
mysqld: error while loading shared libraries: libicuuc.so.65
解决方法
-
[官网下载libicuuc指定版本]http://site.icu-project.org/home
-
安装libicuuc
$ tar -zxvf <package> $ cd icu/source $ ./configure $ make $ sudo make install
-
创建链接
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版本,替换对应数字即可
-
重新安装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目录,重新操作即可
- 卸载之前安装失败的版本,
严律己、宽待人