1. 程式人生 > >Ubuntu 16.04 x64 Qt 5.6連線MySQL資料庫筆記

Ubuntu 16.04 x64 Qt 5.6連線MySQL資料庫筆記

1. 安裝Qt、MySQL並配置MySQL

1.1 安裝Qt 5.6,訪問Qt官方網站,下載qt-opensource-linux-x64-5.6.0.run進行安裝。

1.2 安裝MySQL,並建立資料庫和使用者

sudo apt-get install mysql-server
sudo apt-get install mysql-client
mysql -u root -p
create database TestDB;

建立完資料庫後,檢查是否建立好了

show databases;

建立使用者並且分配密碼

insert into mysql.user(Host,User
,Password) values("localhost","TestUser",password("123456"));

注意:如果是5.7版之後的MySQL資料庫,執行該語句可能會報錯:

ERROR 1054 (42S22): Unknown column 'Password' in 'field list'

這是因為新版mysql資料庫下已經沒有password這個欄位了,password欄位改成了
authentication_string,那麼執行下列這行語句1

CREATE USER 'TestUser'@'localhost' IDENTIFIED BY '123456'
;

新增使用者後進行重新整理

flush privileges;

對使用者進行授權

grant all privileges on TestDB.* to [email protected] identified by "123456";

再次進行重新整理

flush privileges;

2. 安裝Qt連線MySQl相關庫

2.1 安裝libmysqlclient-dev

sudo apt-get install libmysqlclient-dev
sudo apt-get install libqt5sql5-mysql

安裝完後,在以下目錄檢查是否存在libqsqlmysql.so

/opt/Qt5.6.0/5.6/gcc_64/plugins/sqldrivers

注意:隨Qt安裝方式以及版本不同,路徑/opt/Qt5.6.0/5.6/gcc_64可能存在差異。
在該目錄下進入終端,執行

ldd libqsqlmysql.so

執行後,若發現存在下列問題:

libmysqlclient_r.so.16 => not found
libssl.so.10 => not found
libcrypto.so.10 => not found

則按照下列第2.2步和第2.3步的方法進行解決2

2.2 解決libmysqlclient_r.so.16 => not found的問題。下載 libmysqlclient.so.16,地址: http://files.directadmin.com/services/debian_5.0_64/libmysqlclient.so.16
下載後將該檔案拷貝至/usr/lib/x86_64-linux-gnu,並重命名為libmysqlclient_r.so.16,參照下列命令。

sudo cp /home/xiaoyafu/下載/libmysqlclient.so.16 /usr/lib/x86_64-linux-gnu
cd /usr/lib/x86_64-linux-gnu
sudo mv libmysqlclient.so.16 libmysqlclient_r.so.16 

執行完後,重新執行步驟2.1中的ldd libqsqlmysql.so,檢查是否解決了該問題。

2.3 解決libssl.so.10 => not foundlibcrypto.so.10 => not found的問題。執行下列命令:

sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev
cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10

執行完後,重新執行步驟2.1中的ldd libqsqlmysql.so,檢查是否解決了該問題。

3. 執行測試

3.1 啟動MySQL,執行:

sudo /etc/init.d/mysql start

執行後,檢查MySQL是否正常啟動,執行檢視命令:

service mysql status

3.2 建立Qt MySQl連線測試工程,建立後需要修改.pro檔案,在其中加入sql模組

QT       += core gui sql

以下是函式程式碼:

#include <QApplication>
#include <QMessageBox>
#include <QDebug>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlDriver>
#include <QtSql/QSqlError>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    qDebug() << QCoreApplication::libraryPaths();
    qDebug()<<QSqlDatabase::drivers()<<endl; /*列出qt可用的資料庫*/

    /*
     * 連結mysql資料庫
     */
    QCoreApplication::addLibraryPath("/opt/Qt5.6.0/5.6/gcc_64/plugins/sqldrivers/libqsqlmysql.so");
    QSqlDatabase db(QSqlDatabase::addDatabase("QMYSQL"));
    db.setHostName("127.0.0.1");
    db.setDatabaseName("TestDB");
    db.setUserName("TestUser");
    db.setPassword("123456");

    if (!db.open()) /*測試資料庫是否連結成功*/
    {
       QMessageBox::critical(0, QObject::tr("Databse Error"), db.lastError().text());
       qDebug()<<db.lastError()<<endl;
    }
    else
    {
       qDebug()<<"Ok"<<endl;
    }

    return 0;
}

3.3 執行該工程,成功,如下圖所示。

image_1anrr8slpn4b62u1c7f1dqq1tllm.png-112.5kB

相關推薦

Ubuntu 16.04 x64 Qt 5.6連線MySQL資料庫筆記

1. 安裝Qt、MySQL並配置MySQL 1.1 安裝Qt 5.6,訪問Qt官方網站,下載qt-opensource-linux-x64-5.6.0.run進行安裝。 1.2 安裝MySQL,並建立資料庫和使用者 sudo apt-get

Ubuntu 16.04 安裝 Qt 5.11

1. 下載安裝包 可以去下載連結找到合適版本的Qt安裝包進行下載,我這次使用的版本是5.11.2,下載如下圖所示的連結。 下載完成以後進入到下載目錄,設定安裝包的許可權。 cd Download su

Ubuntu 16.04解除安裝CUDA 6.5和安裝CUDA 8.0

一,引言 由於系統從Ubuntu 14.04升級到了16.04,原來的CUDA 6.5無法繼續使用,所以重新安裝了CUDA 8.0。 二,解除安裝CUDA 6.5 和驅動 以下操作都在命令列介面操作,比如按下Ctrl+alt+F1進入命令列  首先停止lightdm: 

Ubuntu 16.04安裝VirtualBox 5.1實現無縫模式

https 1.2 快捷 show 管理 1.0 pkg Coding owin 下載: wget http://download.virtualbox.org/virtualbox/5.1.26/virtualbox-5.1_5.1.26-117224~Ubuntu

Ubuntu 16.04(x64)內安裝lightgbm前的準備工作

6.0 attribute htm 配置 github 自帶 ecn 滿足 rem Ubuntu 16.04自帶python 2.7,滿足了lightgbm最低要求 1、添加必備的一些包 sudo apt-get install python-numpy sudo apt-

Ubuntu 16.04 安裝流程 -5 其它

1. Terminator & 字型(fixed width) sudo apt install terminator sudo apt install ttf-liberation 選擇Preferences-> Profiles Genera

Ubuntu 16.04Qt交叉編譯開發環境搭建

轉載地址:http://www.linuxidc.com/Linux/2017-03/141552.htm 一、環境及軟體包介紹: (一)系統環境 (二)軟體包  1、arm-Linux-gcc.tar.gz  我提供的包是arm-linux-gcc4.4.3版本,ar

ubuntu 16.04 x64 ROS kinetic 安裝ORB—SLAM

1、g2o (included)      We use g2o to perform several optimizations. We include a modified copy of the library including only the component

ubuntu 16.04 安裝cudnn 5.1

cudnn是nvidia提供的深度學習介面 一、獲取cuDNN (需要註冊NVIDIA賬號) 選擇 cuDNN v5.1 -> cuDNN v5.1 Libraryfor Linux

ubuntu 16.04 x64如何安裝mxnet GPU

1,cuda 8.0和cudnn安裝 注意下載cuda8.0的時候,不要下載deb格式,有坑,要下載run 格式的 可以使用ubuntu 命令列中的wget下載,速度比較快,不會斷鏈,使用瀏覽器下載發現會斷鏈: cudnn 百度雲連結:https://pan

ubuntu 16.04上安裝和簡單配置MySQL(5.7版本)

1.在ubuntu安裝MySQL(根據個人需求安裝server和client)sudo apt-get install mysql-serversudo apt-get install mysql-cl

ubuntu 14.04 安裝 qt 5.5.1

最近在ubuntu 14.04 安裝qt ,   選擇了當前最高的Qt版本, qt 5.5.1  , 原以為會像原來在fedora上一樣方便, 過程卻出了幾次意外, 總結了一下, 供後面的人少走彎路吧: 1. 在qtcn開發網下載qt 5.5.1, 由於我這邊網路比較慢,下

php 5.6連線mongodb 資料庫

在上一篇博文中,已經說明在windows如何配置mongodb資料庫;那麼我們現在就來實現如何連線資料庫。 使用下面列出的其中一種方法連線: <?php $connection = new

Ubuntu 18.04安裝lamp環境並配置mysql資料庫遠端連線

首先,更新軟體源軟體列表: 更新本機軟體: 安裝apache2: 安裝完成後,檢視Apache執行狀態,顯示running說明是執行中: 通過本地迴環地址(127.0.0.1/localhost)訪問apache伺服器,出現下圖所示

ubuntu 15.04 通過3306埠遠端連線mysql

下面是網上找到的比較靠譜的方法: 原文地址:http://www.linuxdiyf.com/linux/15206.html 以下所有操作在terminal(終端)中執行。 首先檢視埠是否開啟 netstat -an|grep 3306 此圖為開啟3306埠的

Python3.6 連線mysql 資料庫,增刪改查,及多執行緒簡單運用

readme:        匯入 pymysql 連線資料庫,完成資料處理後的增刪改查操作。匯入到其他Python檔案就可以直接呼叫。後面一個檔案是多執行緒操作, 另一個檔案是處理曲線擬合和積分的然後資料和資料庫互動的運用。 aliyunMySQL_test.py im

Unity3D 連線MySQL資料庫筆記4-Unity3d程式碼

using UnityEngine; using System; using System.Collections; using System.Data; using MySql.Data.MySqlClient; public class ToMysql : MonoBehaviour {

解決ubuntu 16.04+ Qt 5.7.1無法輸入中文的問題

進入 復制 class 命令 輸入 gnu css 圖片 xpl 解決方法: 1.命令行安裝fcitx-frontend-qt5 sudo apt-get install fcitx-frontend-qt5 結果顯示如下圖,說明我的fcitx-frontend-qt

ubuntu 16.04 + Qt 5.10 creator 下支援搜狗輸入法輸入中文

在Ubuntu下的 qt creator 下想輸入中文.  安裝fcitx-frontend-qt5 sudo apt-get install fcitx-libs-qt fcitx-libs-qt5

Ubuntu 16.04原始碼編譯安裝PHP 5.6.29

2、解壓 tar -zxvf php-5.6.29.tar.gz 3、配置 ./configure –prefix=/usr/local/php –with-apxs2=/u