mysql 开启远程访问_QxOrm 访问 MySQL
在前面的 QxOrm 章節中,我們已經介紹了對本地數據庫的操作,現在是時候介紹對遠程數據庫的訪問了,那么就以最常用的 MySQL 為例吧!
在開始之前,首先要安裝 MySQL。如果條件允許,建議將其安裝在 Linux 系統上,安裝過程可參考《在 Ubuntu 上安裝 MySQL》。在使用數據庫時,建議結合數據庫管理工具(例如:Navicat)一起,這有助于簡化數據庫的管理。
1
訪問?MySQL
與操作 SQLite 類似,QxOrm 在訪問 MySQL 時,僅需要對數據庫配置稍作更改即可,其他部分幾乎可以不做改動。
為了不對 MySQL 自帶的數據庫產生影響,我們先來建立一個測試數據庫 test,下面的所有操作都在該數據庫中進行:
在數據庫建立成功之后,現在就可以將《QxOrm 快速上手》中的數據庫配置部分從 SQLite:
//?初始化參數,用于和數據庫交互qx::QxSqlDatabase::getSingleton()->setDriverName("QSQLITE");
qx::QxSqlDatabase::getSingleton()->setDatabaseName("./Users.db");
qx::QxSqlDatabase::getSingleton()->setHostName("localhost");
qx::QxSqlDatabase::getSingleton()->setUserName("root");
qx::QxSqlDatabase::getSingleton()->setPassword("");
替換為 MySql 了:
//?配置?MySQLqx::QxSqlDatabase::getSingleton()->setDriverName("QMYSQL");
qx::QxSqlDatabase::getSingleton()->setDatabaseName("test");
qx::QxSqlDatabase::getSingleton()->setHostName("192.168.***.***");
qx::QxSqlDatabase::getSingleton()->setUserName("root");
qx::QxSqlDatabase::getSingleton()->setPassword("password");
qx::QxSqlDatabase::getSingleton()->setPort(3306);
運行程序,然后查看上面創建的數據庫,你會看到新建了一張 User 表,并且還添加了幾條記錄:
這就表明訪問 MySql 成功了,是不是很簡單呢!?
2
常見問題
在訪問遠程 MySql 數據庫時,難免會出現各種各樣的問題,導致最終連接失敗,下面來總結下常見的一些原因。
MySql 驅動加載失敗
這是 Qt 中的一個典型問題,只要操作 MySql 數據庫,就會遇到:
QSqlDatabase:?QMYSQL?driver?not?loadedQSqlDatabase:?available?drivers:?QSQLITE?QMYSQL?QMYSQL3?QODBC?QODBC3?QPSQL?QPSQL7
要解決它,可以參考《QMYSQL driver not loaded 原理及解決方案》,里面寫的很詳細!
無法訪問遠程 MySql 數據庫
這個原因就比較多了,以下情況都有可能:
MySql 服務未開啟
防火墻限制 3306 端口訪問
MySQL 監聽的僅是本機 IP
未賦予賬號遠程登錄權限
有關這幾個問題的解決方案,可參考《在 Ubuntu 上安裝 MySQL》一文。
所以呢,QxOrm 操作 MySQL 并沒有想象中那么難,只要解決好驅動加載和遠程連接問題就可以了。
·END·
總結
以上是生活随笔為你收集整理的mysql 开启远程访问_QxOrm 访问 MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql反应慢_MySQL反应慢排查思
- 下一篇: iperf测试带宽linux,iperf