最近想写个脚本在树莓派中运行,需要使用到数据库功能,因此需要在树莓派中安装一个mysql数据库,本来以为去年在云服务器的CentOS中自定义安装过一次mysql,这次安装手到擒来,不料还是遇到预期之外的状况。
自定义安装mysql的过程详见我在github上的安装步骤一文:
mysql 非root用户安装、非系统路径安装、自定义mysql安装路径
,具体安装过程不再赘述,本文主要解决不同发行版linux在安装过程中遇到的问题。
一、error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
在初始化mysql数据库时,遇到了第一个问题:
没什么好说的,mysql官网的资料,apt包管理器中的libaio1即指libaio
$ sudo apt install libaio1
安装后再次执行初始化数据库。
error while…… !!!仍然显示未找到libaio库???
使用find指令查找libaio.so.1安装到了什么位置:
原来是安装到了/lib的子目录中,在/lib中建立软连接
二、error while loading shared libraries: libaio.so.1: wrong ELF class: ELFCLASS32
中央软件仓库中的libaio都是32位的,而我下载安装的是64位的mysql。
既然如此,只能尝试自己编译libaio库了,找到libaio的源码。
$ git clone https://github.com/crossbuild/libaio.git
$ cd libaio
$ make
$ sudo make install
编译后libaio会直接安装到/usr/lib目录。
三、error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
依然是缺少库文件的问题,
sudo apt search libstdc++
这次留了心眼,特地找到了64位版本的库
安装libstdc++之后,成功初始化mysql