目录

1.下载mysql

2.安装mysql

3.检测是否安装成功

4.Qt使用mysql 

5.遇到的问题 

1.下载mysql

       使用qt的多少位编译器就要下载相应位数的mysql,我使用的是mingw32,所以下载32位mysql。下载地址:https://dev.mysql/downloads/mysql/,下载mysql压缩包,如果界面没有32位压缩包选项,点击红框位置即可

           点击后界面:

         点击下载后,出现如下界面,点击红框直接下载即可。

        下载完毕后,解压,得到文件夹内容如下:

2.安装mysql

1)生成配置文件

       在解压的文件夹中新建新建一个txt文件,并将其重命名为my.ini,即为一个配置文件。文件中内容如下(两个路径需要按照自己的安装目录进行修改):

[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#跳过密码验证
#skip-grant-tables
#设置3306端口
port = 3306
#设置mysql的安装目录
basedir=C:\MySQL\mysql-5.7.34-win32
#设置mysql数据库的数据的存放目录
datadir=C:\MySQL\mysql-5.7.34-win32\data
#允许最大连接数
max_connections=200
#服务端使用的字符集设置为utf8
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODBQt使用mysql

2)配置环境变量

       在“我的电脑–属性–高级环境设置-环境变量-系统环境”中新建一个系统环境变量,变量名与值分别为:MYSQL_HOME 和存储位置 如图:(这里是我的mysql存储的文件位置)

         然后点击系统变量的Path->编辑->新建,加入%MYSQL_HOME%\bin 

3)安装

       以管理员身份运行cmd,切换到mysql安装目录下的bin目录,输入mysqld –initialize,此时会在安装目录下生成一个data文件夹

      然后输入mysqld install,安装服务,如果之前安装过mysql,会提示已安装,此时要切换回cmd进入时的路径,输入net stop mysql,关闭mysql服务器,再切换回bin目录,输入mysqld --remove删除之前安装的mysql,删除成功后,执行mysqld --install,提示安装成功。

      接着上面输入命令 mysqld --skip-grant-tables,跳过mysql密码,此时cmd命令行不会输出什么,也不能再输入了,我们再次打开另一个cmd,同样以管理员权限运行cmd。使用命令net start mysql运行mysql服务器

       如果无法启动,把前面打开的cmd关掉再启动即可。

      在新打开的cmd中,输入命令 mysql -u root -p,此时系统会提示你输入密码,由于之前我们使用过 mysqld --skip-grant-tables 这个命令,所以我们会跳过密码,此时直接按Enter键进入下一步即可:

       此时已成功进入数据库。

(4)设置密码

 a) 输入use mysql

  b) 输入update user set authentication_string=password(“123456”) where user=“root”;(注意末尾一定要加分号!!!!!!!!)修改密码,这里root为用户名,123456为密码,可以自行修改

  c) 使用flush privileges刷新mysql,不刷新则密码不会变。

  d) 输入quit退出

     此时即可关闭所有cmd窗口。

3.检测是否安装成功

       使用刚刚设置的密码再次登录,如图即为成功。

4.Qt使用mysql 

       新建qt项目

       在.pro中添加代码QT+=sql;,然后菜单栏选择构建->执行qmake:

       在.cpp文件中加入代码如下:

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //数据库对象
    //连接数据库
    db.setHostName("127.0.0.1"); //数据库服务器IP
    db.setUserName("root"); //数据库用户名
    db.setPassword("123456"); //数据库密码
    db.setDatabaseName("gx"); //使用哪个数据库
    bool ok = db.open();
    if(ok)
    {
        qDebug()<<"成功连接数据库"<<endl;
    }
    else
    {
        QMessageBox::warning(NULL,"warning","未连接到数据库");
    }

       其中数据库的用户名和密码为刚刚设置的,使用哪个数据库即为要使用的数据库名字,需要提前查询、创建,方法如下:

       按照以上五个步骤可查询当前所有数据库名称。

       输入create database+数据库名+;(不要忘记分号!!!!!!)创建新的数据库,在qt程序中输入数据库名称即可连接到相应的数据库。

       连接成功后就可以使用sql语言在数据库中创建数据表,写入数据,顺便介绍一款查看数据数据的软件——Navicat for MySQL。

5.遇到的问题

       Qt程序运行时,可能会提示如下错误:

       QSqlDatabase: QMYSQL driver not loaded

       QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

       此为数据库驱动加载失败错误,需要将mysql安装目录C:\MySQL\mysql-5.7.34-win32下的lib目录中的libmysql.dll拷到qt安装目录C:\Qt\Qt5.9.9\5.9.9\mingw53_32(我用的mingw32所以是这个目录)下的bin目录即可。

更多推荐

Mysql安装教程+Qt连接Mysql数据库