在上章学习了42.QT-操作SQLite数据库后,发现MySQL和SQLite的语句都大致相同,所以本章只测试MySQL是否能使用

MySQL安装参考链接:https://blog.csdn.net/qq_38455201/article/details/83419450

 

1.由于QT版本是32位,所以MySQL安装也得是32

2.MySQL安装

下载地址https://dev.mysql.com/downloads/mysql/5.7.html#downloads,选择32位的:

下载完成后解压到: D:\MySQL5.7_win32

然后配置Path环境变量

新增变量名:

然后在Path变量里添加路径:

  • %MYSQL_HOME%:表示变量名,等价于D:\MySQL5.7_win32\mysql-5.7.26-win32

配置文件

首先在D:\MySQL5.7_win32\mysql-5.7.26-win32里创建data文件夹,用来mySQL存储数据.

然后在D:\MySQL5.7_win32\mysql-5.7.26-win32里创建my.ini文件(在linux下则为my.cnf):

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 # 数据库服务端配置项
[mysqld] # 设置3306端口
port = 3306 # 设置MYSQL的安装目录
basedir= D:\\MySQL5.7_win32\\mysql-5.7.26-win32 # 设置MYSQL数据库的数据的存放目录
datadir=D:\\MySQL5.7_win32\\mysql-5.7.26-win32\\data # 允许最大连接数
max_connections=200 # 服务端使用的字符集设置为utf8
character-set-server=utf8 # 创建新表时将使用的默认存储引擎
# default-storage-engine=INNODB #设置模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # skip-grant-tables跳过密码验证,一般忘记密码,才是用它,重新改密码
#skip-grant-tables [WindowsMySQLServer]
Server= D:\\MySQL5.7_win32\\mysql-5.7.26-win32\\bin\\mysqld.exe

安装MySQL服务以及初始化

打开CMD输入:

mysqld install             //安装SQL后台服务程序(mysqld),mysqld用来实现让客户端通过连接服务器来访问数据库
mysqld --initlialize //初始化mysqld
net start mysql //启动MySQL

更改密码

首先找到初始密码,密码位于data文件夹*.err文件里:

打开,找到密码为N0aeT3lp.tzy:

继续在CMD中输入:

mysql -u root –p            //-u表示输入用户名,-p表示输入密码,按下回车后则会要求输入密码N0aeT3lp.tzy

alter user root@localhost identified by '123456';   //改为123456

修改密码也可以输入:

set password for root@localhost = password('123');          //修改密码为123

使用navicat管理数据库工具连接数据库

使用navicat工具可以方便操作数据库,下载后,我们通过ip地址访问时,发现打印如下所示:

打开CMD配置

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123';     //修改,允许所有IP地址,通过root和123账号密码来访问
flush privileges; //使修改立即生效

如下图所示:

然后再次通过ip地址访问,发现OK:

3.接下来开始使用QT测试(使用QT5.7版本)

连接MySQL发现打印:

因为缺少驱动文件libmysql.dll,该文件位于: D:\MySQL5.7_win32\mysql-5.7.26-win32\lib

方法1:

将libmysql.dll复制到Qt5.7.1\5.7\mingw53_32\bin目录下

方法2:

将libmysql.dll复制到debug或者release下

开始测试


1)首先创建一个students数据库:

2)写QT代码

QSqlDatabase  db =  QSqlDatabase::addDatabase("QMYSQL");

db.setHostName("192.168.0.100");      //如果填入localhost,则表示链接本地的数据库
db.setDatabaseName("students"); //要连接的数据库名
db.setUserName("root");
db.setPassword("sql");
db.setPort(); if(db.open())
{
QSqlQuery query;
query.exec("DROP TABLE students"); //删除名为students的表 query.exec("CREATE TABLE students("
"id INT NOT NULL AUTO_INCREMENT,"
"name VARCHAR(20) NOT NULL,"
"sroce INT NOT NULL,"
"class VARCHAR(20) NOT NULL,"
"PRIMARY KEY (id) )ENGINE=InnoDB DEFAULT CHARSET=utf8;");
//重新创建一个students表,标题分别为id、name、score、class query.exec("INSERT INTO students(name,sroce,class) VALUES ('小a', 85, '初2-1班')");
query.exec("INSERT INTO students(name,sroce,class) VALUES ('小b', 15, '初2-2班')");
query.exec("INSERT INTO students(name,sroce,class) VALUES ('小c', 35, '初2-3班')");
}

运行结束后,打印数据表是否有数据:

44.QT-安装MySQL、测试连接MySQL的更多相关文章

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

  2. Navicat for mysql 远程连接 mySql数据库10061、1045错误

    原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...

  3. MySQL学习(一)MySQLWorkbench(MySQL可视化工具)下载,安装,测试连接,以及注意事项

    PS:MySQLWorkbench是MYSQL自带的可视化工具,无论使用哪个可视化工具,其实大同小异,如果想以后走的更远的话,可以考虑使用命令行操作数据库MYSQL.可视化工具让我们初学者更能理解数据 ...

  4. Python安装MySQLdb并连接MySQL数据库

    当然了,前提是你已经安装了Python和MySQL.我的Python是2.6版本的. Python2.6的“Set”有点兼容性问题,自己照着改一下: http://sourceforge.net/fo ...

  5. [Node.js]expressjs简单测试连接mysql

    下载好node.js和通过npm安装好express.js后,先写package.json { "name": "application-name", &quo ...

  6. C Mysql API连接Mysql

    最近都在查看MYsql C API文档,也遇到了很多问题,下面来简单的做一个总结. mysql多线程问题 mysql多线程处理不好,经常会发生coredump,见使用Mysql出core一文. 单线程 ...

  7. Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

    远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是 ...

  8. (笔记)Mysql命令mysql:连接Mysql数据库

    mysql命令用户连接数据库. mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令m ...

  9. Mysql命令mysql:连接Mysql数据库

    mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p, ...

随机推荐

  1. Hybird App 应用开发中5个必备知识点复习

    前言 我们大前端团队内部 ?每周一练 的知识复习计划还在继续,本周主题是 <Hybird APP 混合应用专题> ,这期内容比较多,篇幅也相对较长,每个知识点内容也比较多. 之前分享的每周 ...

  2. 大数据学习笔记——Spark工作机制以及API详解

    Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调 ...

  3. 如果你不了解Java的JVM,那真的很难进BAT一线大厂!

    前言 对于开发人员来说,如果不了解Java的JVM,那真的是很难写得一手好代码,很难查得一手好bug.同时,JVM也是面试环节的中重灾区.我们不能为了面试而面试,但是学习会这些核心知识你必定会成为面试 ...

  4. hdu 6298 Maximum Multiple (简单数论)

    Maximum Multiple Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. excel中生成32位随机id

    记录下如何在EXCEL中利用公式生成32位的随机id(无符号,只有数字和小写字母). ,,)),),"",DEC2HEX(RANDBETWEEN(,,)),),"&quo ...

  6. JavaScript实现动态轮播图效果

    功能描述: 1.鼠标经过 左右侧箭头显示,鼠标离开 箭头隐藏 2.动态添加底部小圆圈并绑定单击事件,并且让小圆圈的点击事件和左右箭头点击事件同步 3.拷贝第一张图片添加到ul最后可以实现动态添加图片 ...

  7. echart的legend不显示问题

    legend的data与series的name 两者必须同时存在,且数量和文字内容必须一致.

  8. Vue学习笔记Day1

    1.vue初时 vue安装三种方式: 1:CDN引入 以下推荐国外比较稳定的两个 CDN,国内还没发现哪一家比较好,目前还是建议下载到本地. Staticfile CDN(国内) : https:// ...

  9. SpringCloud之Spring Cloud Stream:消息驱动

    Spring Cloud Stream 是一个构建消息驱动微服务的框架,该框架在Spring Boot的基础上整合了Spring Integrationg来连接消息代理中间件(RabbitMQ, Ka ...

  10. RMAN备份数据库与表空间

    脚本: 数据库备份: backup database format='/u01/app/oracle/oradata/Backup/oradb_%d_%s.bak'; 表空间备份:backup tab ...