官方文件
機器配置
機器環境:mac 10.14
mysql版本:8.0.4-rc,自行編譯,編譯步驟
mysql 存放路徑:/users/shiyibo/lnmp/mysql
ide: clion
目錄劃分:
| - main.cpp
| - mydb.h
| - mydb.cpp
*** file mydb.h
* created by shiyibo on 2018/12/21.
#ifndef db_mydb_h
#define db_mydb_h
#include
#include "/users/shiyibo/lnmp/mysql/include/mysql.h"
using namespace std;
class mydb else else {
cout << "get result error: " << mysql_error(mysql);
return false;
return true;
#include
#include "mydb.h"
int main() {
// std::cout << "hello, world!" << std::endl;
mydb db;
string host = "127.0.0.1";
string user = "root";
string passwd = "password";
string dbname = "test";
int port = 3307;
cout<
//連線資料庫
bool conn = db.initdb(host, user, passwd, dbname, port);
if (!conn) {
cout<
cout<
//將使用者資訊新增到資料庫
string sql = "insert account values(1, 'fengxin');";
db.exesql(sql);
sql = "insert account values(2, 'axin');";
db.exesql(sql);
//將所有使用者資訊讀出,並輸出。
sql = "select * from account;";
db.exesql(sql);
return 0;
編譯g++ main.cpp mydb.cpp -o main `mysql_config --cflags --libs`
執行image.png
資料表create table `account` (
`id` int(10) unsigned not null auto_increment,
`name` varchar(25) not null default '',
primary key (`id`)
image.png
問題執行時遇到如下報錯
./main
dyld: library not loaded: @rpath/libmysqlclient.21.dylib
referenced from: /users/shiyibo/clionprojects/db/./main
reason: image not found
abort trap: 6
解決方案:
方案1,**
1、關閉csrutil
2、找到mysql安裝路徑,建立軟連線
sudo ln -s /usr/local/mysql/lib/libmysqlclient.21.dylib /usr/lib/libmysqlclient.21.dylib
效果: 原意是,建立乙個從/usr/lib/libmysqlclient.21.dylib到/usr/local/mysql/lib/libmysqlclient.21.dylib的軟連;
環境中編譯的位址為 /users/shiyibo/lnmp/mysql,預設的按照路徑/usr/local/mysql/lib/libmysqlclient.21.dylib中沒有這個目錄;
換成了sudo ln -s /users/shiyibo/lnmp/mysql/lib/libmysqlclient.21.dylib /usr/lib/libmysqlclient21.dylib,重試,不管用;
方案2,**
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib
或export dyld_library_path="$dyld_library_path:/usr/local/mysql/lib/"
使用第二種方案,可以成功編譯,當然,路徑也得換為/users/shiyibo/lnmp/mysql/lib
最後好多年不寫c系列,**醜陋,生疏,敬請諒解!
參考
c 動態連線mysql C連線mysql
我是在ubuntu系統下測試的 此系統下,mysql安裝 apt get install mysql server 等了有10多分鐘 然後又裝了mysql client apt get install mysql client 還不夠還需要mysql的開發包 apt get install libm...
qt連線mysql安全麼 Qt連線Mysql的問題
標頭檔案 include include include 工程中需要加入 qt sql 資料庫中的中文顯示為亂碼的解決方法 在main函式中加入 include qtextcodec setcodecfortr qtextcodec codecforname utf 8 qtextcodec set...
Python基礎 Python連線MySQL
什麼是 pymysql?pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。pymysql 安裝 在使用...