❶ ubuntu安裝了mysql 但是編譯報錯 mysql.h: No such file or directory
在Ubuntu系統下,安裝了mysql伺服器和客戶端,卻在嘗試使用C語言編譯mysql資料庫時,出現了「fatal error: mysql.h: No such file or directory」的錯誤提示。這是因為系統中缺少mysql開發庫。
解決方法是執行命令行操作:sudo apt-get install libmysql++-dev,以安裝mysql開發庫。在進行編譯時,需添加連接選項-lmysqlclient,具體的編譯命令如下:gcc -I/usr/include/mysql *.c -L/usr/lib/mysql -lmysqlclient -o *。
以上步驟能有效解決Ubuntu系統中編譯mysql時出現「mysql.h: No such file or directory」的問題,確保了編譯的順利進行。
❷ linux 怎麼用cmake安裝mysql
方法/步驟
1
在安裝mysql資料庫伺服器前,確保你的linux系統是可以連接網路的,下面我們將通過源碼方式來安裝mysql首先通過putty登入進你的Linux系統,確保系統中已經安裝的gcc c++ 等編譯環境,因為mysql從5.5版本開始是使用cmake編譯的,如果三個環境都沒安裝,可以使用下面的命令進行安裝:yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2
查找系統里是否已經安裝了mysql資料庫的相關組件,使用命令:rpm -qa | grep mysql 進行查找,如果查找到,可以使用下面命令進行強制卸載:rpm -e --nodeps 包名
如果你當時在安裝Linux系統時,使用的默認的安裝選項,這一步可以跳過;
3
然後我們來下載mysql的源碼安裝包,使用下面的命令來下載wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz下載的時間可能有點漫長,請耐心等待;
4
下載完成後,使用命令: ll 可以查看當前目前下存在 mysql-5.6.24.tar.gz文件然後使用下面的命令解壓壓縮包:tar -zxvf mysql-5.6.14.tar.gz
然後使用命令: ll 可以查看當前目前下存在 mysql-5.6.24 目錄使用命令:cd mysql-5.6.24 切換到 mysql-5.6.24 這個目錄下;
上面的步驟完成後,下面我們來開始編譯mysql文件了,首先配置編譯的相關參數,執行如下命令:cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci
接著使用 make && make install 來編譯並安裝mysql也可以分兩步來執行:先運行 make ,完成後再運行 make install整個過程大概需要30分鍾左右,請耐心等待,這段時間你可以做點別的事
安裝完成後,我們還要建立mysql的配置,首先設置mysql的訪問許可權,使用命令查看是否已經存在mysql用戶及用戶組,查看用戶列表命令:cat /etc/passwd 查看用戶組列表命令:cat /etc/group
如果不存在,我們就要創建:添加用戶組命令:groupadd mysql添加用戶:useradd -g mysql mysql然後來修改之前安裝的mysql所在目錄的訪問的用戶及用戶組輸入命令:chown -R mysql:mysql /usr/local/mysql
然後是初始化mysql配置,切換到mysql安裝目錄:cd /usr/local/mysql執行初始化配置腳本,創建mysql自帶的系統資料庫:./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
修改mysql配置文件,輸入命令:vi my.cnf然後按鍵盤的"insert"鍵,然後通過鍵盤的方向鍵來移動游標到要修改的行,添加如下內容:server-id=1 report-port=3306 port=3306 datadir=/usr/local/mysql/datasocket=/var/lib/mysql/mysql.sock
這一步很重要,需要更改該配置文件的所有者:chown -R mysql:mysql /usr/local/mysql/my.cnf否則下面啟動mysql服務會報錯;
添加mysql到開機啟動項,並啟動mysql服務( 註:在啟動MySQL服務時,會按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會到你安裝的mysql目錄找,在本例中就是 /usr/local/mysql/my.cnf。注意:在CentOS 6.4版操作系統的最小安裝完成後,在/etc目錄下會可能會存在一個my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啟動。 重命名的命令是:mv my.cnf my.cnf.bak)cp support-files/mysql.server /etc/init.d/mysqld #復制腳本 chmod +x /etc/init.d/mysqld #增加可執行許可權 chkconfig --add mysqld #增加至sysV服務 chkconfig mysqld on #開機自啟動service mysqld start #啟動mysql服務netstat -aux|grep mysq #查看啟動的mysql進程
添加mysql的環境變數,以方便以後的操作輸入密碼:vi /etc/profile在文件的底部添加如下內容:PATH=/usr/local/mysql/bin:$PATHexport PATH保存並退出,輸入輸入命令,使配置立即生效:source /etc/profile
安裝好的mysql,默認root帳戶帳戶為空,下面我們來修改密碼輸入命令:mysql -uroot 回車後,然後輸入命令:SET PASSWORD = PASSWORD('123456');
設置完成後,輸入命令:quit; 退出mysql環境;
設置好 mysql密碼,需要輸入如下命令才能夠正確登錄進mysql:輸入命令:mysql -uroot -p 回車後,會提示你輸入密碼,輸入正確並執行後,會看到以mysql>開始的提示行,在這里你可以輸入任何有效的sql查詢語句:比如輸入:show databases; 來顯示所有的資料庫,注意後面的分號不能丟失,它標識一行命令的結束。至此,恭喜你,mysql安裝成功了。
❸ (轉)C語言使用sqlite3.dll連接操作sqlite資料庫
c或c++都可以使用sqlite3.dll進行sqlite資料庫連接操作,因為該動態庫提供的是C介面。
下載地址為SQLite下載頁面。下載例如名為sqlite-dll-win64-x64-3370000.zip的文件,大小約為889.60 KiB,用於64位系統的SQLite版本3.37.0。
下載後會得到兩個文件,其中我們僅需使用sqlite3.dll即可。如果在使用visual studio環境時需要sqlite3.lib,則可以通過visual studio提供的命令行工具,運行lib /def:sqlite3.def /MACHINE:X64生成該文件。不過,這里不需要lib文件,所以無需進行此步操作。
將dll文件復制到程序所在目錄。然後下載源代碼包如sqlite-amalgamation-3370000.zip,大小約2.39 MiB,包含作為合並版本的C源代碼,版本為3.37.0。解壓後僅需使用其中的sqlite3.h文件。
以下是使用方法的示例代碼,包括一次性獲取數據到內存的get_table、獲取大量數據時使用游標的update、insert、update操作示例,以及delete操作類似insert。
代碼包括了頭文件的包含、函數定義和函數調用等細節。
例如,`sqlite3_test_get_table`函數用於獲取資料庫中特定表的數據,`sqlite3_test_update`函數用於更新數據,`sqlite3_test_insert`函數用於插入新數據。
示例代碼中,使用`sqlite3_open`打開資料庫,然後調用不同函數進行相應的資料庫操作。最後使用`sqlite3_close`關閉資料庫連接。
編譯命令為`gcc .\main.c -L. -lsqlite3`。
更多詳細信息和示例代碼參考C語言使用sqlite3.dll連接操作sqlite資料庫_-快樂的程序員-的博客-CSDN博客_c語言sqlite3資料庫的使用
❹ 2G內存環境下MySQL編譯安裝全攻略2g內存編譯mysql
2G內存環境下MySQL編譯安裝全攻略
MySQL是全球最流行的開源資料庫,因其高性能、穩定性和可擴展性被廣泛應用於各種應用場景。雖然官方提供了針對各種操作系統和架構的官方二進制包,但許多人更願意通過編譯源代碼來獲得更多的自定義和優化。本文將介紹在2G內存環境下編譯安裝MySQL的全過程。
第一步:准備工作
在開始編譯MySQL之前,需要確保系統已經安裝了必要的依賴庫和工具。以下是幾個常用的依賴庫和工具:
1. gcc
gcc是GNU的C語言編譯器,是Linux系統下的標准編譯工具,任何高級編程語言都需要通過gcc編譯器進行編譯。安裝gcc的命令如下:
yum install gcc
2. CMake
CMake是一個跨平台的自動化構建工具,可以生成各種工程文件,如Makefile、Visual Studio等。安裝CMake的命令如下:
yum install cmake
3. ncurses
ncurses是一個開源的、可移植和API一致的終端屏幕控制庫。許多Linux上的終端工具都需要ncurses庫的支持。安裝ncurses的命令如下:
yum install ncurses-devel
4. bison
bison是一款生成編譯器的自由軟體,常被用來生成語法解析器。MySQL使用bison生成語法解析器,安裝bison的命令如下:
yum install bison
5. openssl
OpenSSL是一個開源的安全套接字層(Secure Sockets Layer)和傳輸層安全(Transport Layer Security)協議的開發庫。MySQL在安裝時需要使用openssl,可以通過以下命令安裝:
yum install openssl-devel
第二步:下載MySQL源碼
訪問MySQL官網,下載源碼包。本文以5.7.35版本為例:
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.35.tar.gz
下載完成後,將源碼包解壓到目錄中:
tar zxvf mysql-5.7.35.tar.gz
第三步:配置編譯選項
進入MySQL源碼目錄,執行以下命令進行編譯選項配置:
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_BOOST=boost \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_SSL=system \
-DENABLED_LOCAL_INFILE=1
其中,各選項含義如下:
1. CMAKE_INSTALL_PREFIX
MySQL的安裝目錄,默認安裝到/usr/local/mysql目錄下。
2. MYSQL_DATADIR
MySQL的數據目錄,默認安裝到/usr/local/mysql/data目錄下。
3. MYSQL_UNIX_ADDR
MySQL的UNIX Domn Socket地址,默認安裝到/usr/local/mysql/mysql.sock。
4. WITH_BOOST
啟用BOOST庫加速編譯速度。
5. WITH_*_STORAGE_ENGINE
啟用各種存儲引擎。
6. WITH_DEBUG
開啟調試模式。
7. WITH_SSL
啟用SSL加密。
8. ENABLED_LOCAL_INFILE
啟用從本地載入數據。
第四步:編譯安裝MySQL
執行以下命令進行編譯和安裝:
make && make install
編譯完成後,會將MySQL二進制文件和支持文件安裝到/usr/local/mysql目錄下。
第五步:啟動MySQL
執行以下命令啟動MySQL:
/usr/local/mysql/bin/mysqld_safe –user=mysql &
等待片刻後,可以嘗試連接到MySQL伺服器:
/usr/local/mysql/bin/mysql -u root -p
輸入密碼,如果能夠成功登錄,則表示MySQL編譯安裝已經完成。
總結
本文介紹了在2G內存環境下編譯安裝MySQL的全過程,需要注意的是,在低內存環境下編譯MySQL需要確保操作系統配置合理,否則可能會因為系統資源不足而導致編譯失敗。在實際生產環境中,建議使用高配置的伺服器或者使用現成的MySQL二進制包。