从MySQL安装到QT与数据库连接

My SQL 安装遇到的一系列问题

作为一个刚接触Qt和C++半个月的新手,突发奇想装个数据库,因为看到别人做的界面很酷。可是安装过程就让我很头疼,最终还是成功了,值得记录下来。

My SQL安装

我选择的是My SQL5.7.29 Windows 32位版本。(因为QT5.15.0我也是32位的版本)
SQL下载地址
关于SQL的安装教程,可以参考下面:
https://blog.csdn.net/weixin_37632720/article/details/104536990

遇到的问题:

安装完成后;首先要启动MySQL,打开命令提示符,输入:
cd C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin(提示:这里是参考目录,看你安装在什么位置,bin下面有mysql.exe)进入到这个位置,进入成功如下图所示:
在这里插入图片描述
接下来输入安装命令:mysqld -install,若出现Service successfully installed,证明安装成功;如出现Install of the Service Denied,则说明没有以管理员权限来运行cmd:
然后继续输入命令:mysqld --initialize --console,此时命令窗口没有提示,但是bin的同级目录下多了一个data文件夹

开始,我的弄得乱七八糟,这一步一直报错,原因是我的data文件已经存在,如下图报错所示,因为之前没有加上console所以不知道。
在这里插入图片描述
如果没有错误,直接下一步:
启动服务,输入:net start mysql,提示如下错误
在这里插入图片描述
这时同样使用mysqld - -console来查看,在命令窗口能看到类似下面的错误,主要找[error],这里换颜色来突出。
在这里插入图片描述
原因是我已经开了MySQL57服务,再打开MySQL时占用了端口。关掉MySQL57服务,启动MySQL服务,这时应该可以了。
在这里插入图片描述
遇到这个问题可参考:
https://blog.csdn.net/qq_37915248/article/details/82631398
接下来进行数据库测试
首先进入到数据库,两个方法:
方法一:命令行输入 cd C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin(前面已经提到),跳转到bin目录下之后,输入mysql -uroot -p
方法二:就是设置环境变量,设置了环境变量之后,不论当前在哪个路径下,输入mysql -uroot -p就可以了

我一直输入密码,但是。。。提示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

我心里有点个大大的问号???其实这是我的密码错了。
之前我在cmd进入过mysql(在我进行mysqld --initialize之前),密码是我安装MySQL的时候设置的(配置界面有个设置密码),那时候完全没毛病。
现在输入之前的密码竟然进不去,我惊了!!!其实,mysqld --initialize --console初始化后,命令窗口有提示一个密码,只是当时没注意看。
不过不用着急,我当时是直接把之前生成的data文件夹删除了,再来一遍mysqld --initialize --console,这次我把命令窗口现实的密码记下来了。大概如下,图是down别人的。
在这里插入图片描述
如果密码正确,却出现下面问题,可能是你的MySQL服务尚未启动。
在这里插入图片描述

终于,输入密码进入到mysql
在这里插入图片描述

当我想查看服务器里数据库时,输入:show databases; 报错了

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

解决方法 输入 ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘新密码’;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
Query OK, 0 rows affected (0.02 sec)

改完密码后,重启一下MySQL服务
登录数据库,查看数据库是这样的,每个人的可能不同哦。exit;是数据库退出命令
在这里插入图片描述

QT编译插件

我下载的是QT5.15.0的win32版本,我用QT打开的运用MySQL的一个程序,打开运行,就提示QMySQL is not loaded
兜兜转转两天没弄好,期间试过弄个低版本5.7来编译,试过把下面插件复制到QT安装目录下面,测试未果。。。在这里插入图片描述

偶然在B站看到一个视频,关于QT编译插件,简直寻到了宝藏。
传送门:https://www.bilibili.com/video/BV13a4y1a73F/

步骤:

1.下载QT源码
下载地址:http://download.qt.io/official_releases/qt/
安装的哪个版本,就找对应的下载。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.解压:这里我放在D盘目录下
在这里插入图片描述
在这个文件夹下面有qtbase文件夹,其实只用到这里面的文件,所以我把它剪切到D盘下面,因为下面很多级目录,复制的时候,路径太长了。。。
在这里插入图片描述

3.修改代码
把qtbase拷到D盘后,找到下面路径下的mysql.pro工程,
在这里插入图片描述
打开工程,在mysql.pro中把QMAKE_USE += mysql注释掉,也即前面加个#号,再添加下面两行

INCLUDEPATH += "C:/Program Files (x86)/MySQL/MySQL Server 5.7/include/"

LIBS += "C:/Program Files (x86)/MySQL/MySQL Server 5.7/lib/libmysql.lib"

在这里插入图片描述
一个是include的路径,另一个是lib文件夹下的libmysql.lib文件,直接将他们的路径复制过来就可以,我的路径是
C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib\libmysql.lib和
C:\Program Files (x86)\MySQL\MySQL Server 5.7\include
但是注意到没,这个“\”得改成"/”
在这里插入图片描述在这里插入图片描述
4.添加插件
mysql.pro重新生成后,在D盘下有个plugins文件夹,把qsqlmysql.dll复制到QT的sql插件目录下,即D:\QT\5.15.0\mingw81_32\plugins\sqldrivers下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这时编译我的程序就不会出现QMySQL is not loaded错误了。

QT与数据库的连接

打开Navicat,新建连接,选择MySQL,
在这里插入图片描述
在这里插入图片描述
如果密码输入错误,点击连接测试,出现如下错误
在这里插入图片描述
改正之后
在这里插入图片描述

在这个新建的连接下面有几个数据库
在这里插入图片描述

右击新建一个数据库 ,设置如下
在这里插入图片描述
在info数据库下面新建表student,建立4栏
在这里插入图片描述
往表student里面写入数据:
在这里插入图片描述
这时QT中打开程序,可以正常运行了,运行如下。在这里插入图片描述

程序输出已经把数据库里写入的数据打印出来了
在这里插入图片描述

程序下载:https://pan.baidu.com/s/1BszJ6dECDsq5V44kfpELYQ
提取码:83xf

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值