国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
山西省| 冕宁县| 岑巩县| 三门峡市| 淅川县| 农安县| 武定县| 昭通市| 德庆县| 正安县| 尉氏县| 铁岭市| 石河子市| 莱芜市| 苍南县| 南宫市| 长武县| 汤阴县| 壶关县| 绥芬河市| 桃园县| 三门峡市| 资中县| 土默特左旗| 凤冈县| 建阳市| 江川县| 临江市| 江口县| 辽中县| 揭西县| 青龙| 枞阳县| 城口县| 桃园县| 山西省| 镶黄旗| 湖口县| 惠东县| 平阳县| 安泽县|