Mysql8.0.25 Ubuntu20.04 Windows Qt5.15.2 连接Mysql保姆级教程

ubuntu20.04 安装和配置mysql

1. 安装mysql

  

sudo apt install mysql-server

2.配置mysql

  2.1 查看账号和密码

sudo vim /etc/mysql/debian.cnf

2.2 使用随机账号和密码登陆mysql

mysql -u 账号 -p

2.3 切换数据库

use mysql

2.4 设置root字段为空

update user set authentication_string='' where user='root';

2.5 修改root密码,如果出现错误,执行flush privileges;后,再修改密码

alter user 'root'@'localhost' identified with mysql_native_password by 'password';

2.6 重启服务

exit
service mysql restart

2.7 使用root登陆

mysql -u root -p

2.8 选中数据库

use mysql

2.9 查看账号和主机,这时root是只能本地登陆有local标志

select host,user from user;

2.10 允许root远程登陆

update user set host='%' where user='root';

2.11 刷新数据

flush privileges;

2.12 查看3306端口,开放情况.127.0.0.1就是只能本机才能访问3306端口

netstat -an | grep 3306

2.13 开放其它机器连接3306端口,找到bind-address = 127.0.0.1,并在前面加上#注释掉

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

2.14 重启mysql,这时候,mysql配置就完成,其它机器就可以连接了。

service mysql restart

3 .Qt5.15.2 安装,官方只提供在线安装,插件一定要选openssl,Source也要选中,因为要编译mysql,下载Mysql,下载zip压缩包,下载后解压

   3.1 安装完成后,找到安装Qt 目录中的\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql目录,打开pro文件,做如下修改,mysql目录根据自己解压的mysql目录配置使用左斜杠.

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql
win32:LIBS += -LD:/Software/mysql-8.0.25-winx64/lib -llibmysql

INCLUDEPATH += D:/Software/mysql-8.0.25-winx64/include

DEPENDPATH += D:/Software/mysql-8.0.25-winx64/include

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
DESTDIR = ./Mydll

 3.2 选择mingw64位,Release版本后(这里因为下载的mysql也是64位的,所以只做编译64位mingw的dll例子),点击编译后会提示pri文件找不到,不用管,只要编译能过就行,在\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\目录下会生成Release生成的目录,打开里面的Mydll,里面有qsqlmysql.dll,qsqlmysql.dll.debug

3.3 复制这两个文件到Qt 目录下的\Qt\5.15.2\mingw81_64\plugins\sqldrivers\目录中去

3.4 回到解压的mysql目录中进行lib目录中找到libmysql.dll,复制到\Qt\5.15.2\mingw81_64\bin\目录中去.这样Qt编译和部署Mysql就完成。

4,新建例子pro 中加入QT += sql ,窗体中加入如下代码,然后运行,这时候应该会报QSqlDatabase: QMYSQL driver not loaded,当缺少libmysql.dll,也会报这个,支持的库里面会显示已经支持mysql了。

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

5,经过多方分析后发现,mysql8.0.25使用了ssl,所以呢,安装Qt的时候勾选了openssl,进入Qt 安装目录\Qt\Tools\OpenSSL\Win_x64\bin\目录下,复制libcrypto-1_1-x64.dll和libssl-1_1-x64.dll,到运行程序目录下,再次运行,大部份人已经不会再报错了。

6,但是呢把程序打包后,放到另一台全新电脑上去,发现运行还是会报错还是报同样的错误QSqlDatabase: QMYSQL driver not loaded,这就像见鬼了一样。没办法,只能通过模块使用分析软件,来分析,看看问题出在哪里,分析后发现libssl-1_1-x64.dll模块,系统根本就没有识别出版本,分析后发现这里ssl使用了vc 运行库,由于新电脑里面没有装vc运行库,所以出错了,然后导致Qt 报模块未加载。我从我电脑上分析出缺少的vc库文件为4个分别是msvcp140.dll,msvcr100.dll,vcruntime140.dll,vcruntime140_1.dll,将编译电脑上的这4个文件放到运行程序中,新电脑再次运行,发现已经成功加载,不再报错。

7、下载vc运行库地址

     如果有同学不想安装vc运行库,可以联系我我单独把这4个库使用的文件发给你.

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值