ubuntu中mysql链接问题
出现的现象
可以使用navicat链接数据库,也可以通过clion来链接使用,同时直接进入数据库也是没问题的。
但是使用服务链接时,会报如下错误
`QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3
QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins`
查找问题
看到着这个问题后,第一反应是去查找资料,看看有没有好的解决办法,看到最多的就是下载libmysqlclient和server。
但是在下载安装过程中又出现了新的问题:
又从这个问题入手,找了好多资料,方法都是一致的,删除数据库再重装。
甚至有的重装后还存在该问题,还是无法解决。
最后
按照网上的各种解决办法全部试了一遍,很多命令都是以失败告终,在准备重新装mysql时,进行最后的尝试——再次检查时,居然成功了,显示该文件已能找到。
解决的过程完全不清晰,希望有大佬能够提出完整的解决办法和流程,谢谢大家的解惑。
在机缘巧合之下,再次遇到这个问题
- 查找libqsqlmysql.so文件所在位置
sudo locate libsqlmysql.so
得到相应的路径后,进入该路径
- 使用ldd查看依赖时,发现找不到libmysqlclient.so.20文件
ldd libsqlmysql.so
- 发现文件依赖问题:libmysqlclient.so.20 => not found,寻求解决办法,先判断是否存在该文件
locate libmysqlclient.so
- 发现该文件并不存在,解决办法,下载libmysqlclient.so.20
通过下述命令执行下载文件
sudo apt-get install libmysqlclient-dev
- 再次查看依赖
发现已经成功依赖上
再次运行服务,数据库成功链接,不再报错,问题解决。