在上章学习了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. java内存模型和内存结构

    java内存模型说的是多线程,网上可能会有写误导,并不是什么堆.栈.方法区,很多人都会搞混.说白了就是多线程中主线程和本地线程之间的一个数据可见性问题. jmm:java内存模型:jvm:java内存 ...

  2. 使用SSH服务远程管理主机(使用密钥)

    使用ssh服务远程管理主机 SSH是建立在应用层和传输层基础上的安全协议,目的是要在非安全网络上提供安全的远程登录和其他安全网络服务. 通过SSH连接可以远程管理Linux等设备,默认linuxssh ...

  3. react-native scrollview触摸滚动事件

    目录 1.几个已知的滑动或者滑动开始结束的方法: 2.还有其他的一些事件如下 3.下面就这些方法的顺序做个简单的介绍: 4.android上的时间分为两种,一个是滑动一次,一个是连续滑动两次甚至多次, ...

  4. ACM-ICPC 2018 焦作赛区网络预赛 K题 Transport Ship

    There are NN different kinds of transport ships on the port. The i^{th}ith kind of ship can carry th ...

  5. ZOJ 3195 Design the city (LCA 模板题)

    Cerror is the mayor of city HangZhou. As you may know, the traffic system of this city is so terribl ...

  6. 开通博客第一天,记录此时此刻,开始学习加强c#

    从2017年6月毕业到现在,不断的学习.net,在工作中不断的加强技术,终于在此时此刻决定开通博客,记录此后每一天学习的技术点,两年来,每天所涉及的技术点很杂,学了这个忘了那个,总感觉在进步却总是觉得 ...

  7. 新版FPC摄像头测评 OV7725 OV7670 OV9650 OV9655 OV5640 OV5642 OV2640 OV3640 MT9D112

    新版FPC摄像头测评 OV7725 OV7670 OV9650 OV9655 OV5640 OV5642 OV2640 OV3640 MT9D112 最新制样新版FPC摄像头板卡,先看看结构尺寸 再瞧 ...

  8. for-in的缺点

    for-in用来循环对象中的属性,但是通过for-in循环输出的属性名的顺序是不可测的.具体来说,所有属性都会被返回一次,但返回的先后次序可能会因浏览器而异. ES5之前:如果表示要迭代的对象的变量值 ...

  9. ES7中的async 和 await

    async 和 await 一个函数如果加上 async ,那么该函数就会返回一个 Promise async function test() { return "1" } con ...

  10. Unity学习路线

    转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/7068615.html 1.Unity下载安装和破解方法: http://blog.sina.com.cn ...