最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Qt+MySql開發(fā)筆記:Qt5.9.3的mingw32版本編譯MySql8版本驅(qū)動(dòng)并Demo連接數(shù)據(jù)庫(kù)測(cè)試

2023-03-23 10:49 作者:紅胖子_AAA紅模仿  | 我要投稿

前言

??之前特定的mysql版本msvc版本已經(jīng)調(diào)通了,但是為了更好的跨平臺(tái),所以選擇用mingw32版本,于是需要編譯mysql驅(qū)動(dòng)的mingw32版本的驅(qū)動(dòng)庫(kù),以便提供給qt連接mysql使用。

編譯環(huán)境

Qt5.9.3 mingw32

??安裝得時(shí)候記得要勾選上源碼

mysql-installer-community-8.0.16.0

??

下載數(shù)據(jù)庫(kù)

??https://downloads.mysql.com/archives/community/
??

編譯mysql驅(qū)動(dòng)庫(kù)(Qt5.9.3+mysql8.0.16)

步驟一:安裝Qt5.9.3勾選mingw32版本。

??


??其他過(guò)程略。

步驟二:下載數(shù)據(jù)庫(kù)32位驅(qū)動(dòng)運(yùn)行程序并解壓

??下載數(shù)據(jù)庫(kù)運(yùn)行包文件。(注意:這里要注意跟目標(biāo)機(jī)器安裝的版本要一致)。
??下載地址:https://downloads.mysql.com/archives/c-c
??


??

步驟三:打開qt中自帶的mysql源碼工程

??


??使用QtCreator打開:
??


??注意工程的編譯套件。(注意:shadow build在這里不管作用,最后是生成到根目錄上去了,跟pro包含的pri配置有關(guān)
???


??


??

步驟四:qmake并且build構(gòu)建

??構(gòu)建成功:
??


??這里生成到磁盤根目錄下去了:
??


??

步驟五:替換插件的mysql庫(kù)

??

步驟六:將數(shù)據(jù)庫(kù)的libmysql.dll拷貝到bin目錄

??這個(gè)文件是運(yùn)行庫(kù),也是需要自動(dòng)手動(dòng)額外copy和打包時(shí)額外拷貝的,具體看 “入坑一”。
??需要將下載下來(lái)mysql的lib下的libmysql.dll拷貝到qt的gcc的bin目錄下,而且打包軟件的時(shí)候也要帶上。
??


??如果是打包,則windeployqt不會(huì)主動(dòng)拷貝,也需要手動(dòng)復(fù)制過(guò)去:
??

步驟七:編譯應(yīng)用連接測(cè)試

??編譯數(shù)據(jù)庫(kù)的工程:
??


??Ok了,提示不再是缺少驅(qū)動(dòng)了。
??下面配置好數(shù)據(jù)庫(kù),再嘗試:
??

步驟八:配置數(shù)據(jù)庫(kù)賬號(hào)允許遠(yuǎn)程操作

??這是因?yàn)橘~號(hào)不被允許遠(yuǎn)程登錄,所以需要修改數(shù)據(jù)庫(kù)用戶的配置,讓其允許遠(yuǎn)程登錄。
??修改用戶被允許遠(yuǎn)程登錄,先使用mysql控制端輸入密碼登錄,然后操作:

use mysql;select host,host from user;update user set host = ‘%’ where user = ‘root’;select host,host from user;

??這時(shí)候,還是不行,需要強(qiáng)行刷新以下

flush privileges;

??

??

??然后成功:
??


??至此,Qt5.9.3 mingw32 + mysql8.0.16數(shù)據(jù)庫(kù)完成。

步驟九:數(shù)據(jù)庫(kù)的遠(yuǎn)程操作工具連接

??使用遠(yuǎn)程工具測(cè)試,發(fā)現(xiàn)出錯(cuò):
??

??這是因?yàn)?.0之后mysql更改了密碼的加密規(guī)則,目前的客戶端連接軟件還不支持Mysql8新增加的加密方式caching_sha2_password,所以需要修改用戶的加密方式,將其改回舊加密驗(yàn)證方式。
??先登錄mysql命令行,執(zhí)行以下,主要是youPassword要替換為你使用遠(yuǎn)程登錄的賬戶密碼:

alter user 'root'@'%' identified by 'youPassword' password expire never;alter user root identified with mysql_native_password by 'youPassword';flush privileges;

???


??

入坑

入坑一:開始連通后打包后不行了,回頭也不行了

問(wèn)題

??開始連通后打包后不行了,回頭也不行了

原因

??需要使用到libmysql.dll運(yùn)行庫(kù)

解決

??需要將下載下來(lái)mysql的lib下的libmysql.dll拷貝到qt的gcc的bin目錄下,而且打包軟件的時(shí)候也要帶上。
??

??如果是打包,則windeployqt不會(huì)主動(dòng)拷貝,也需要手動(dòng)復(fù)制過(guò)去:
??




Qt+MySql開發(fā)筆記:Qt5.9.3的mingw32版本編譯MySql8版本驅(qū)動(dòng)并Demo連接數(shù)據(jù)庫(kù)測(cè)試的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
石首市| 关岭| 宜兰县| 海兴县| 合肥市| 海盐县| 盖州市| 阳城县| 西藏| 炉霍县| 兴文县| 海南省| 乐亭县| 麻阳| 电白县| 虹口区| 斗六市| 佛冈县| 抚远县| 资讯 | 罗江县| 昂仁县| 许昌县| 新绛县| 思南县| 巴林右旗| 绥江县| 奉新县| 容城县| 桂平市| 武清区| 宁阳县| 屯留县| 汤阴县| 武威市| 扎赉特旗| 湛江市| 嘉峪关市| 集安市| 和政县| 赞皇县|