44.QT-安装MySQL、测试连接MySQL
在上章学习了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的更多相关文章
- my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接
一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...
- Navicat for mysql 远程连接 mySql数据库10061、1045错误
原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...
- MySQL学习(一)MySQLWorkbench(MySQL可视化工具)下载,安装,测试连接,以及注意事项
PS:MySQLWorkbench是MYSQL自带的可视化工具,无论使用哪个可视化工具,其实大同小异,如果想以后走的更远的话,可以考虑使用命令行操作数据库MYSQL.可视化工具让我们初学者更能理解数据 ...
- Python安装MySQLdb并连接MySQL数据库
当然了,前提是你已经安装了Python和MySQL.我的Python是2.6版本的. Python2.6的“Set”有点兼容性问题,自己照着改一下: http://sourceforge.net/fo ...
- [Node.js]expressjs简单测试连接mysql
下载好node.js和通过npm安装好express.js后,先写package.json { "name": "application-name", &quo ...
- C Mysql API连接Mysql
最近都在查看MYsql C API文档,也遇到了很多问题,下面来简单的做一个总结. mysql多线程问题 mysql多线程处理不好,经常会发生coredump,见使用Mysql出core一文. 单线程 ...
- Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)
远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是 ...
- (笔记)Mysql命令mysql:连接Mysql数据库
mysql命令用户连接数据库. mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令m ...
- Mysql命令mysql:连接Mysql数据库
mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p, ...
随机推荐
- 基于 SOA 架构,创建 ego-search-web 项目-solr集群-zookeeper集群
项目架构 Ego-search-web 服务的消费者,ego-rpc 服务提供者 建立 ego-search-web 项目 继承:ego 依赖:ego-common ego-rpc-service ...
- Python学习笔记—自动化部署【新手必学】
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:唯恋殊雨 目录 pexpect fabric pexpect P ...
- ARTS-S C语言主线程获取子线程返回值
#include<stdio.h> #include<stdlib.h> #include <pthread.h> typedef struct { int stu ...
- Flink入门(四)——编程模型
flink是一款开源的大数据流式处理框架,他可以同时批处理和流处理,具有容错性.高吞吐.低延迟等优势,本文简述flink的编程模型. 数据集类型: 无穷数据集:无穷的持续集成的数据集合 有界数据集:有 ...
- 在VS2017中连接到SQLite数据源(dbfist)
在VS2017中配置.连接到SQLite数据源(dbfist) 需要安装的VS插件 SQLite/SQL Server Compact ToolBox 这个插件安装后,在选择数据源时已经可以选择SQL ...
- 一线大厂面试官最喜欢问的15道Java多线程面试题
前言 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分.如果你想获得更多职位,那么你应该准备很多关于多线程的问题. 他们会问面试者很多令人混淆的Java线程问题.面试官只是想确信面试者 ...
- NodeJS1-2 Node JS的优点
NodeJS并不适合所有server端的场景,它的使用场景是及其有限的,web是nodeJS最适合的场景 前端偏爱node的原因其内核就是JavaScript 前端职责范围变大,统一开发体验 在处理了 ...
- 【开发必备】2018最新中国国内可用API合集
中国国内可用API合集 笔记 OneNote - OneNote支持获取,复制,创建,更新,导入与导出笔记,支持为笔记添加多媒体内容,管理权限等.提供SDK和Demo. 为知笔记 - 为知笔记Wind ...
- Python与线性代数基本概念
在Python中使用Numpy创建向量: x = np.array([1, 2, 3, 4]) 创建3 x 3矩阵 B = np.array([[1, 2],[3, 4],[5, 6]]) Shape ...
- HttpRunner学习7--引用CSV文件数据
前言 在之前的文章中,我们已经学习了 parameters 参数化,是在测试脚本中直接指定参数列表.这种方法简单易用,但如果我们的参数列表数据比较多,这种方法可能就不太适合了. 当数据量比较大的时候, ...