安装配置mysql
1.下载
官网下载地址:mysql下载
有安装程序和压缩包,这里以压缩包为例。
2.解压
3.在解压出的文件夹根目录创建my.ini配置文件
配置以下信息:
[mysqld]
#设置3306端口
port=3306
#设置mysql的安装目录
basedir="D:\mysql-8.0.30-winx64\mysql-8.0.30-winx64"
#设置mysql数据库的数据的存放目录
datadir="D:\mysql-8.0.30-winx64\mysql-8.0.30-winx64\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
4.以管理员身份打开cmd,切换到bin目录
依次运行
C:\Users\mja>d:
D:\>cd /dD:\mysql-8.0.30-winx64\mysql-8.0.30-winx64\bin
D:\mysql-8.0.30-winx64\mysql-8.0.30-winx64\bin>
mysqld install
mysqld --initialize-insecure
net start mysql
5.登录mysql
在cmd窗口输入
mysql -u root -p
//输入密码:
Enter password:*******
//创建数据库,注意要带分号结尾
mysql> create database news;
//创建用户,news:用户名; 39.15.16.14:host;可以配置为'%',表示所有的IP地址都可以访问; 123news:密码
mysql> create user 'news'@'39.15.16.14' identified by '123news';
//授权用户,news:用户名; 39.15.16.14:host;可以配置为'%',表示所有的IP地址都可以访问
mysql> grant all privileges on news.* to 'news'@'39.15.16.14';
//刷新权限
mysql> flush privileges;
6.可使用navicat等工具进行可视化表创建和其他操作
编译mysql驱动
MySQL版本:8.0.30 64bit
Qt:5.14.1 Mingw64
1.编译驱动
打开工程D:\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro
选用的套件位数应对应数据库版本,这里用MingW_64
注释掉QMAKE_USE += mysql
最下方添加三行:地址为对应的mysql路径,注意"/"的方向
INCLUDEPATH += “D:/mysql-8.0.30-winx64/mysql-8.0.30-winx64/include”
LIBS += “D:/mysql-8.0.30-winx64/mysql-8.0.30-winx64/lib/libmysql.lib”
DESTDIR = …/mysql/lib/
最后一行只是指定输出路径,非必要步骤。
完成后先执行qmake,再执行build
将输出目录里的三个文件:libqsqlmysql.a、qsqlmysql.dll、qsqlmysql.dll.debug放到
D:\Qt\5.14.1\mingw73_64\plugins\sqldrivers目录里
再将mysql目录下D:\mysql-8.0.30-winx64\mysql-8.0.30-winx64\lib里的两个文件:
libmysql.dll、libmysql.lib放进D:\Qt\5.14.1\mingw73_64\bin目录下。
2.在工程中使用
qDebug()<<QSqlDatabase::drivers();
输出:
(“QSQLITE”,“QMYSQL”,“QMYSQL3”,“QODBC”,“QODBC3”,“QPSQL”,“QPSQL7”)
说明驱动中已经有mysql了,但是执行程序时仍报:QSqlDatabase:QMYSQL driver not loaded
这是8.0以后的mysql做了加密,需要下载额外动态库。
下载地址:动态库
选择对应的mysql版本。下载ZIP格式,解压。
找到lib64文件夹下的libcrypto-1_1-x64.dll和libssl-1_1-x64.dll ,复制到D:\Qt\5.14.1\mingw73_64\bin目录下。
再运行程序,就没有报错了。