Mysql++學習(一)------mysql編譯安裝

來源:互聯網
上載者:User

標籤:style   blog   http   color   ar   os   sp   檔案   資料   

最近在看資料庫開發的東西,因為用C++,所以就看看mysql++咯。

mysql提供了c語言的API,還有一些其他語言的connector,雖然以前也寫過c語言的mysql串連,增刪改查之類的東西,不過都感覺太玩具,最近看新項目,裡面的資料庫封裝就是基於mysql++的,所以順便學學。

mysql++是對於mysql c API的一個封裝,為C++開發人員提供像操作STL容器一樣方便的操作資料庫的一套機制,簡單說,就是支援C++的那些“高大上”的機制了唄。所以在C++ 裡面用起來會方便不少。心動不如行動,裝個試試。

用mysql++開發的第一步,當然是你得有個資料庫程式吧,怎麼安裝mysql這裡就不多說了。

然後,去Mysql++官網下個庫源碼,最新版是3.2.1.然後解壓

tar -xvzf mysql++-3.2.1.tar.gz

進入解壓後的目錄,一大堆檔案,慣例------先看README,因為我的是ubuntu,所以就看README-Linux.txt

首先它告訴你,mysql++必須得有mysql c API才能正常工作,mysql c API就需要安裝mysqlclient.

ubuntu下面執行下面命令就可以

sudo apt-get install libmysqlclient-dev

 其次它告訴你,為了防止動態連結器找不見,最好不要裝在非主流的目錄下,它建議你放/usr下面

./configure --prefix=/usr

執行建議的命令,它就開始檢測檔案,配置了。

然後。。。就華麗麗的報錯了。- -!

它表示沒找見mysqlclient。locate一下,確定是否安裝

裝了也找不見,那隻能告訴它放哪了

./configure --prefix=/usr --with-mysql-lib=/usr/lib/x86_64-linux-gnu

果然好了。然後make。make install(如果許可權不夠,就sudo make install)。搞定,安裝成功!

去example下找個例子測試下唄~

測試首先得有個資料庫,執行安裝目錄下的

./resetdb -s 127.0.0.1 -u [user]-p [password]

就行,如果你安裝在非主流目錄下,那就通過一個指令碼執行

./exrun ./resetdb -s 127.0.0.1 -u [user]-p [password]

如果提示沒許可權或者使用者不存在,那就去資料庫裡面加使用者,給許可權(使用者最好是你的登入使用者,密碼最好為空白)

mysql -uroot -p[password]

root登入mysql,添加新使用者comoon,密碼為空白

insert into mysql.user (Host,User, Password) values("%", "comoon", "");

給許可權(測試資料庫是mysql_cpp_data)

grant all privileges on mysql_cpp_data.* to [email protected] identified by ‘‘;

重新整理許可權

flush privileges;

再次執行產生測試資料庫的指令碼,就OK了

 

進入example目錄,編譯simple1,發現標頭檔沒找到

 

locate下,發現在這裡

 

加上Include路徑再試,發現又一個沒找到。再加。

 

g++ -o test simple1.cpp -I /usr/include/mysql++/ -I /usr/include/mysql -lmysqlpp

終於搞定。

執行程式,運行成功。列印查詢結果.

 

更多可以查看mysql++ user manual. 地址:http://tangentsoft.net/mysql++/doc/html/userman/

友情提示:如果你固執的選擇安裝到一個非主流目錄下,你的動態連結器可能找不到共用庫檔案,你需要將你安裝目錄下的libmysqlpp.so.3.2.1和串連libmysqlpp.so.3拷貝到/usr/local/lib或者/usr/lib下面,然後執行sudo ldconfig.這樣連結器就可以找到了。

Mysql++學習(一)------mysql編譯安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.