前段时间买了腾讯云服务器准备搭建数据库,现在需要使用Qt连接远程数据库,于是查了很多教程才搞定这个问题。代码怎么写就不说了,网上有很多,这了说一下我遇到的问题。
错误一:QSqlDatabase: QMYSQL driver not loaded
①下载两个文件:libmysql.dll 和 libmysql.lib (链接放在后面)
②将这两个文件复制到 F:\Qt\Qt5.9.8\5.9.8\mingw53_32\bin (根据自己的安装目录)
这样这个问题就解决了
错误二:error open database because "Can't connect to MySQL server on '公网ip' (10060) QMYSQL: Unable to connect"
①打开云服务器,点击防火墙,添加规则允许数据库3306端口
错误三:error open database because "Can't connect to MySQL server on '公网ip' (10061) QMYSQL: Unable to connect"
①使任何主机可以访问mysql服务器
mysql> GRANT ALL PRTVILEGES ON *.*TO‘root'@'%’IDENTIFIED BY‘mypassword' WITH GRANT OPTION;
②使用 ss -tlnp 命令查看网络接口状态
如何和上图一样是 127.0.0.0:3306 那么使用 vim /etc/mysql/mqsql.conf.d/mysqld.cnf 将
bind-address =127.0.0.1注释了
将mysql重启
在使用 ss -tlnp命令查看
这样Qt就可以连接上mysql数据库了
上面的解决方式是我查了很多大佬的教程总结经过实践证的,都是大佬们的智慧,我只是搬运工,希望可以帮助到大家。
百度网盘链接:(链接也是大佬的,打开mysql 32文件的使用)
https://pan.baidu.com/s/1WGZBfGD0K_XTZgmDnQ6ORg
密码:qwer