问题:
doing@ThinkPad-L14-Gen-3-c80a1683:~/公共/programFiles/mysql$ sudo /home/doing/公共/programFiles/mysql/bin/mysqld --initialize --user=mysql --basedir=/home/doing/公共/programFiles/mysql --datadir=/var/lib/mysql
/home/doing/公共/programFiles/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
doing@ThinkPad-L14-Gen-3-c80a1683:~/公共/programFiles/mysql$
这个命令为什么不执行
之前有试过用apt 安装对应的mysql-server,安装过程中退出了,所以这里先清除掉所有的apk安装的mysql文件和文件夹:
✅ 目标:让 手工 tarball 版 正常运行,不再被 apt 干扰
① 先彻底 卸载 apt 版(保留手工目录)
bash
sudo systemctl stop mysql
sudo apt purge -y mysql-server* mysql-client*
sudo apt autoremove -y
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql*
② 刷新 dpkg 状态
bash
sudo dpkg --configure -a
③ 确认 apt 不再卡住
bash
sudo apt install -f
应该提示 "0 个包需要配置"。
接下来就是:
初始化mysql的数据文件夹:
bash
sudo /home/doing/公共/programFiles/mysql/bin/mysqld \
--initialize --user=mysql \
--basedir=/home/doing/公共/programFiles/mysql \
--datadir=/var/lib/mysql
出现问题:
bash
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
doing@ThinkPad-L14-Gen-3-c80a1683:~/公共/programFiles/mysql/bin$ mysql -u root -p
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
要让你的 手工 mysqld 找到 libtinfo.so.5和libaio.so.1,有一个立竿见影的办法:
bash
# 把 libaio.so.1t64 映射成 libaio.so.1
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 \
/usr/lib/x86_64-linux-gnu/libaio.so.1
# 把 libtinfo6 映射成 libtinfo.so.5
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 \
/lib/x86_64-linux-gnu/libtinfo.so.5
sudo ldconfig