ubuntu安装mysql遇到的坑----解决Mysql报错缺少libaio.so.1
最近学习大数据,涉及到hive的部分需要安装mysql,于是就在linux环境下尝试安装,对于我这个linux小白来说,中间遇到很多坑爹问题,在这里做一个记录。
我参考的mysql安装博客: https://www.cnblogs.com/fangts/p/8994851.html
我的系统环境: ubuntu18_04_1
前面安装的过程照着博客一步步来,照猫画虎,没有遇到什么问题。等到权限等一些杂七杂八的东西都配好了以后,执行安装mysql的命令。
root@master:/usr/local/mysql# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
弹出一个错:
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
我心想既然缺乏libaio, 那就安装一个,于是我就如下操作:
root@master:/usr/local# apt-get install -y libaio Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package libaio
报错的意思是apt-get的安装源中没有libaio这个包,于是我在百度上搜啊搜啊,看了很多文章博客,我又下载了一个rpm包,继续安装,想换一个安装方式看行不行。
root@master:/usr/local# rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm rpm: RPM should not be used directly install RPM packages, use Alien instead! rpm: However assuming you know what you are doing... warning: libaio-0.3.109-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY error: Failed dependencies: /sbin/ldconfig is needed by libaio-0.3.109-13.el7.x86_64 rtld(GNU_HASH) is needed by libaio-0.3.109-13.el7.x86_64
上面报错的意思是缺乏ldconfig命令,还缺一个rtld, 可是我看ldconfig命令是存在的呀,想来想去,还是没辙。看来这种通过rpm的安装方式,也不大行。
于是我又返回去看apt-get的安装方式,试图解决源中没有包的问题,我尝试了改变apt-get的安装包来源,有直接修改源网站的,有通过更改Software & Updates的方式的,最终证明,毫无作用。
就这样,忙碌的工作中,时间过去了两周,我想我应该直接去看一下mysql的官方文档上,有没有解决这个问题的信息。
没想到mysql官方网站的安装文档的第一个注意事项就是怎么解决这个问题!!!
下面是截图:
不仅如此,解决问题的方式也让我汗颜。原来不是没有libaio这个源,而是这个包的名字叫"libaio1", 服气了,服气了。
最后总结经验教训:
1. 应该首先去看官方文档,而不是优先看别人的博客。
2. apt-get的用法我应该好好学学,补补基础知识。
最后最后, 我想说的是,对于不求甚解的同学来说,其实在ubuntu上安装mysql有个更简单的办法, 那就是直接使用apt-get安装。
具体怎么操作可以参考下面的博客:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义