MySQL(zip版)安装教程、配置Qt

zip版比msi版小,而且安装更简单。

【安装教程】

如果已安装,请先彻底删除,参考 https://www.cnblogs.com/xixixing/p/9672009.html

1、下载 https://dev.mysql.com/downloads/mysql/

 2、新建MySql文件夹,解压mysql-8.0.23-winx64.zip到此文件夹中,之后新建Data文件夹、my.ini

my.ini内容如下:注意标黄的路径

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\MySQL
# 设置mysql数据库的数据的存放目录
datadir=C:\MySQL\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

3、以管理员身份运行cmd

进入bin目录,初始化配置,安装mysql

启动mysql

 

 修改密码

【配置Qt】注意安装Qt时,勾选上Sources

用Qt打开mysql.pro,位置 C:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql

mysql.pro修改如下

qsqldriverbase.pri修改如下

 

 点击Qt左下角的锤子,编译。在mysqlDLL目录中生成了qsqlmysql.dll、qsqlmysqld.dll,将其复制到 C:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers 中

 将 C:\MySql\lib 中的 libmysql.dll,复制到 C:\Qt\5.14.2\msvc2017_64\bin

【添加系统环境变量Path】

C:\MySql\lib

C:\Qt\5.14.2\msvc2017_64\bin

【Qt测试】

pro中添加

QT += sql

cpp内容

#include <QCoreApplication>
#include<QDebug>
#include<QStringList>
#include<QSqlQuery>
#include<QSqlError>
#include<QSqlDatabase>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug()<<QString::fromLocal8Bit("可以使用的数据库");
    QStringList drivers=QSqlDatabase::drivers();
    foreach(QString driver,drivers)
        qDebug()<<driver;

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");  //连接的MYSQL的数据库驱动
    db.setHostName("localhost");         //主机名
    db.setPort(3306);                    //端口
    db.setDatabaseName("mysql");         //数据库名
    db.setUserName("root");              //用户名
    db.setPassword("123456");            //密码
    db.open();

    //测试连接

    if(!db.open())
    {
        qDebug()<<QString::fromLocal8Bit("连接失败")<<db.lastError().text();
        return 0;
    }
    else
    {
         qDebug()<<QString::fromLocal8Bit("连接成功");
    }

    db.close();

    return a.exec();
}

 

posted @ 2020-06-12 00:09  夕西行  阅读(440)  评论(0编辑  收藏  举报