当前位置:首页 > 编程笔记 > 正文
已解决

MySql8.0 + Qt 对数据库操作 - 初窥篇1

来自网友在路上 155855提问 提问时间:2023-10-08 10:55:34阅读次数: 55

最佳答案 问答题库558位专家为你答疑解惑

一、开发背景

        32 位程序连接 64 位的数据库实例

二、开发环境

  QtCreator4.8.2 + Qt5.12.2 + MySql8.0.33

三、实现步骤

  1、测试驱动代码 + 测试结果

int main(int argc, char *argv[])
{QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("localhost");    // 可以是本机 localhost 也可以是外网网址db.setDatabaseName("mysql");    // 数据库名db.setUserName("root");         // 用户名db.setPassword("123");          // 用户密码/* 连接数据库 */if (!db.open()){qDebug() << "Failed to connect to the database:";qDebug() << db.lastError().text();return -1;}/* 遍历数据库的一个数据表 */QSqlQuery query;if (query.exec("SELECT * FROM  user")){while (query.next()) {QString column1 = query.value(0).toString();QString column2 = query.value(1).toString();// ...qDebug() << column1 << column2;}}else{qDebug() << "Failed to execute SELECT query:";qDebug() << query.lastError().text();}/* 断开数据库 */db.close();return 0;
}

  2、遇到问题

             "SSL connection error: unknown error number QMYSQL: Unable to connect"

     编译库不支持SSL,需要关闭数据库的 SSL功能 

     解决方法:在数据库的 my.ini 配置文件中的 [mysqld] 后面添加 skip_ssl,即跳过 ssl 功能

     注意:如果更改后出现终端无法登录的问题,重置密码,操作如下

            参考链接:https://www.cnblogs.com/zhurong/p/9898675.html

   (1)修改 my.ini 文件先登录进去。

   (2)ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   #修改加密规则 

   (3)ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';   #更新一下用户的密码 

   (4)FLUSH PRIVILEGES;   #刷新权限 

   (5)alter user 'root'@'localhost' identified by 'password';

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"MySql8.0 + Qt 对数据库操作 - 初窥篇1":http://eshow365.cn/6-17233-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!