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 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;      //修改,允许所有访问
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(3306);

if(db.open())
{
    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班')");  
}

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python爬虫实战之路

基础窗口控件QWidget简介

   本来这一篇是想写一下怎么使用Qt Designer去设计一个界面的,但是我现在通常都是用代码去直接写界面很少用设计器。因为Qt Designer并不是为了...

23330
来自专栏linux、Python学习

[Python实战]Python制作天气查询软件

以前,公众号分享了如何使用 PyQt5 制作猜数游戏和计时器,这一次,我们继续学习:如何使用 PyQt5 制作天气查询软件。

30250
来自专栏iOSDevLog

Spyder 介绍

Spyder 是一个用 Python 编写的强大科学环境,用于 Python,由科学家,工程师和数据分析师设计。它将综合开发工具的高级编辑,性能分析,调试和分析...

31550
来自专栏python爬虫实战之路

Qt Designer界面设计器简介

   我们在制作 UI 界面的时候,一般可以通过UI制作工具和纯代码编写两种方式来实现。在 PyQt5 中,也可以采用这两种方式。在 PyQt5 中我们使用 Q...

1.1K10
来自专栏毛毛v5

在vc vs2017 ide中加入QT UI.

首先vs要安装QT 插件。QT VS Tools 然后右键工程目录里面需要建立UI文件的文件夹,添加-》新建项,选择QT,出现QT UI模板,选择需要的。

39140
来自专栏python爬虫实战之路

PyQt5的主窗口QMainWindow简介

看过上一篇我们知道,在PyQt5中了,所有的控件都是继承自。在桌面应用当中,我们常用的软件都会包含一个主窗口。主窗口就是承载所有控件的一个窗体。在PyQt5当中...

44120
来自专栏python爬虫实战之路

一篇文章让你读懂PyQt5布局管理,绝对干货

PyQt5的界面布局主要有两种方法:绝对定位和局部类。在PyQt5中有四种布局方式:水平布局、垂直布局、网格布局、表单布局。还有两种布局方法:addLayout...

1.4K20
来自专栏毛毛v5

OBS添加QT的qt5network.lib 等依赖库lnk2019

在obs工程中使用 如下头文件和函数之后,会提示link2019错误,是因为没有网络库。

12620
来自专栏Python绿色通道

基于Python打造账号共享浏览器

在如今的互联网中,免费的信息和资源占据了很大一部分,各类互联网应用提供了各行各业的资讯和资源。这是互联网能够不断繁荣和扩大的重要原因之一。

14530
来自专栏LINUX阅码场

怎么选择 Embedded Linux 的图形框架

http://blog.iotwrt.com/linux/2017/03/08/How-to-choose-display-backend/

24130

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励