新聞中心
隨著大數(shù)據(jù)和等新技術(shù)的快速發(fā)展,數(shù)據(jù)已經(jīng)成為當(dāng)今社會的重要基礎(chǔ)。而數(shù)據(jù)庫作為數(shù)據(jù)存儲的重要工具,由此也變得越來越受歡迎。MySQL作為一種常用的數(shù)據(jù)庫管理系統(tǒng),已經(jīng)被廣泛應(yīng)用于各種Web應(yīng)用中,如開源CMS(內(nèi)容管理系統(tǒng))和博客系統(tǒng)。

奉賢網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,奉賢網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為奉賢成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的奉賢做網(wǎng)站的公司定做!
在本文中,我們將介紹如何使用。這個過程涉及到安裝MySQL、安裝MySQL的C語言API庫和通過代碼連接MySQL服務(wù)器、創(chuàng)建表、查詢、插入、更新等操作。
之一步:安裝MySQL
在C語言中操作MySQL數(shù)據(jù)庫前,需要先安裝MySQL服務(wù)器。MySQL支持多種操作系統(tǒng)平臺。本文以CentOS 7系統(tǒng)為例,介紹MySQL的安裝方法。
通過以下命令安裝MySQL:
“`
sudo yum install mysql-server
“`
安裝完成后,可以通過以下命令啟動MySQL服務(wù)器:
“`
sudo systemctl start mysqld
“`
要想MySQL服務(wù)器在啟動時自動啟動,可以使用以下命令:
“`
sudo systemctl enable mysqld
“`
如果需要停止MySQL服務(wù)器,可以使用以下命令:
“`
sudo systemctl stop mysqld
“`
第二步:安裝MySQL的C語言API庫
要在C語言中操作MySQL,需要使用MySQL的C語言API庫。以下是在CentOS 7系統(tǒng)上安裝MySQL的C語言API庫的步驟。
通過以下命令安裝MySQL的開發(fā)文件:
“`
sudo yum install mysql-devel
“`
安裝完成后,配置gcc編譯器的環(huán)境變量:
“`
export C_INCLUDE_PATH=/usr/include/mysql/
“`
第三步:連接MySQL服務(wù)器
在C語言中操作MySQL數(shù)據(jù)庫,需要使用MySQL的C語言API庫。以下是一個連接MySQL服務(wù)器的示例程序:
“`c
#include
#include
#include
#define HOST “l(fā)ocalhost”
#define USER “root”
#define PASS “password”
int mn()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = HOST;
char *user = USER;
char *password = PASS;
char *database = “test”;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
if (mysql_query(conn, “show tables”)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf(“MySQL Tables in mysql database:\n”);
while ((row = mysql_fetch_row(res)) != NULL)
printf(“%s \n”, row[0]);
mysql_free_result(res);
mysql_close(conn);
return 0;
}
“`
在上述的程序中,我們首先要使用MySQL的C語言API庫,然后通過mysql_init函數(shù)初始化MySQL連接。這個時候就可以通過mysql_real_connect函數(shù)連接MySQL服務(wù)器。如果連接MySQL服務(wù)器失敗,則打印錯誤信息。
如果連接服務(wù)器成功,則可以通過mysql_query函數(shù)執(zhí)行任意SQL語句。在這個例子中,我們執(zhí)行了“show tables”命令。
調(diào)用mysql_use_result函數(shù)后,將在res中得到結(jié)果集。將結(jié)果通過mysql_row函數(shù)打印出來。
我們使用mysql_free_result函數(shù)釋放結(jié)果集并關(guān)閉MySQL連接。
第四步:創(chuàng)建表
要在C語言中創(chuàng)建MySQL表,以下是示例代碼:
“`c
#include
#include
#include
#define HOST “l(fā)ocalhost”
#define USER “root”
#define PASS “password”
int mn()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = HOST;
char *user = USER;
char *password = PASS;
char *database = “test”;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
if (mysql_query(conn, “CREATE TABLE example (id INT(11), name VARCHAR(20))”)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
mysql_close(conn);
exit(1);
}
mysql_close(conn);
return 0;
}
“`
在上述程序中,我們使用mysql_query函數(shù)并執(zhí)行SQL語句“CREATE TABLE example (id INT(11), name VARCHAR(20))”。然后關(guān)閉MySQL連接。
第五步:插入數(shù)據(jù)
要在C語言中向MySQL表中插入數(shù)據(jù),以下是一個示例程序:
“`c
#include
#include
#include
#define HOST “l(fā)ocalhost”
#define USER “root”
#define PASS “password”
int mn()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = HOST;
char *user = USER;
char *password = PASS;
char *database = “test”;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
if (mysql_query(conn, “INSERT INTO example (id, name) VALUES(‘1’, ‘Maria’)”)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
mysql_close(conn);
exit(1);
}
mysql_close(conn);
return 0;
}
“`
在上述程序中,我們使用mysql_query函數(shù)并執(zhí)行SQL語句“INSERT INTO example (id, name) VALUES(‘1’, ‘Maria’)”。然后關(guān)閉MySQL連接。
第六步:更新數(shù)據(jù)
在C語言中可以通過以下方式更新MySQL表中的數(shù)據(jù):
“`c
#include
#include
#include
#define HOST “l(fā)ocalhost”
#define USER “root”
#define PASS “password”
int mn()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = HOST;
char *user = USER;
char *password = PASS;
char *database = “test”;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
if (mysql_query(conn, “UPDATE example SET name=’Mary’ WHERE id=’1′”)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
mysql_close(conn);
exit(1);
}
mysql_close(conn);
return 0;
}
“`
在上述程序中,我們使用mysql_query函數(shù)并執(zhí)行SQL語句“UPDATE example SET name=’Mary’ WHERE id=’1’”。然后關(guān)閉MySQL連接。
第七步:查詢數(shù)據(jù)
要在C語言中查詢MySQL表中的數(shù)據(jù),以下是一個示例程序:
“`c
#include
#include
#include
#define HOST “l(fā)ocalhost”
#define USER “root”
#define PASS “password”
int mn()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *server = HOST;
char *user = USER;
char *password = PASS;
char *database = “test”;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
if (mysql_query(conn, “SELECT * FROM example”)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
mysql_close(conn);
exit(1);
}
res = mysql_use_result(conn);
printf(“MySQL Tables in mysql database:\n”);
while ((row = mysql_fetch_row(res)) != NULL)
printf(“%s %s\n”, row[0], row[1]);
mysql_free_result(res);
mysql_close(conn);
return 0;
}
“`
在上述程序中,我們使用mysql_query函數(shù)并執(zhí)行SQL語句“SELECT * FROM example”。然后通過mysql_use_result函數(shù)和mysql_fetch_row函數(shù)依次得到結(jié)果集的每一行數(shù)據(jù)并打印出來。最后釋放結(jié)果集并關(guān)閉MySQL連接。
結(jié)論
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
怎么鏈接一個服務(wù)器上的mysql數(shù)據(jù)庫
要連接一個服務(wù)器上的mysql數(shù)據(jù)庫首先需要知道這個服務(wù)器李數(shù)的ip地址、mysql數(shù)據(jù)庫的用戶名和哪孝首密碼還有端口號(默認(rèn)是3306)。然后通過Navicat Premium這個軟件來完成,具體步驟如下:
步驟1:電腦上安裝Navicat Premium(可以百度搜索“Navicat Premium”然后下載)
步驟2:安裝完畢,打開Navicat Premium,點擊“連接”,然后下拉選擇“MySQL”
步驟3:打開MySQL的新建連接界面,然后給連接取個名字并輸入已知MySQL數(shù)據(jù)庫所在服務(wù)器的IP地址、數(shù)據(jù)庫端口(默認(rèn)3306)、用戶名、密碼,確保沒問題之后點擊“測試連接”,如果提示“連接成功”,則說明輸入的各項參數(shù)是正確的。
步驟4:測試通過之后點擊“確定”,即可成功連接服務(wù)器上面的MySQL數(shù)據(jù)庫,在里面就可以面各慎備個數(shù)據(jù)庫的數(shù)據(jù)了。
1. 假設(shè)192.168.1.3為服務(wù)器
2. 首先在ip為192.168.1.103的機子上能夠ping 通
運行->cmd
>ping 192.168.1.3
檢查是否能ping通
3. 把兩臺電腦的IP設(shè)置在同一個網(wǎng)段, 如:192.168.1.2 ,192.168.1.3。返拍。
子網(wǎng):255.255.255.0 網(wǎng)關(guān):192.168.1.1
4. 在MySQL服務(wù)器上增加新用戶,
增加新用戶的方法:
在服務(wù)器端
Mysql> grant select,delete,update,insert on zhaozhen.* to ‘zhen’@’192.168.1.103’identified by ‘123’;
在192.168.1.103 這臺機子上可以通過用戶名 :zhen 密碼為123 對數(shù)據(jù)庫zhaozhen 進(jìn)行操作!
//怎樣刪除增加的新用戶的訪問權(quán)限
Mysql > Revokeselect,delete,update,insert on zhaozhen.* from’zhen’@’192.168.1.103’;
也就是收回192.168.1.103 機子訪問的權(quán)利。
并輸入主機名稱:192.168.1.3 ,添加完畢后就能夠在IP地址為192.168.1.103的電腦上,連接另一臺192.168.1.3上的MYSQL服務(wù)器。
5、訪問:cd C:\Program Files\MySQL\MySQL Server 5.0\bin
C:\program Files\MYSQL Server 5.0\bin >mysql –h 192.168.1.3 –uzhen –p 123
則進(jìn)入訪問192.168.1.3 上的mysql數(shù)據(jù)庫。
6、下面是說自己寫的程序通過ADO訪問Mysql數(shù)據(jù)庫,用在不同的機器上。
在另一臺機子上也是用數(shù)據(jù)源進(jìn)行連桐世鬧接測試的,和在本機時一樣,只是將服務(wù)器給為mysql服務(wù)器的!
使用的DataBaseConfiguration程序進(jìn)行測試的,直接在使用時,將server改為192.168.3.212(以上時192.168.1.3由于后來機器ip地址更換的原因)局罩,user 為zhen ,
Password :123 ,database :zhaozhen 即可訪問。
也就是說在客戶端用ADO 方式訪問服務(wù)器端的Mysql數(shù)據(jù)庫時,仍然需要有在客戶端安裝mysql—connector—odbc也就是數(shù)據(jù)源鏈接。至于在
使用的config.ini ,在程序中完成的對其修改,而在修改之后,會將其存儲在C:\Program Files\Common Files\ODBC\Data Sources 文件夾下。 //需要修改的地方。
//尋找存儲路徑
后來在上面需要修改的地方添加了獲得當(dāng)前路徑函數(shù),實現(xiàn)
CString CSysPath::GetSysPath(CStringfileName)
{
TCHARexeFullPath;
GetModuleFileName(NULL,exeFullPath,MAX_PATH);
CStringszfolder = exeFullPath;
int pos = szfolder.ReverseFind(‘\\’);
szfolder= szfolder.Left(pos);
pos= szfolder.ReverseFind(‘D’);
szfolder= szfolder.Left(pos);
szfolder+= fileName;
return szfolder;
}
入?yún)ⅲ阂檎业奈募?/p>
返回值:要查找的文件路徑
1、mysql數(shù)據(jù)庫(例如192.168.1.1)需要創(chuàng)建允許遠(yuǎn)程訪問的用戶??梢灾付↖P或允許所有IP
2、例如#創(chuàng)建數(shù)據(jù)庫,允許user01在灶手掘192.168.1.5訪問
mysql -uroot -pe”create database db01″
#創(chuàng)建用戶
mysql -uroot -pe”CREATE USER ‘user01’@’192.168.1.5’ IDENTIFIED BY ‘123456’;”
mysql -uroot -pe”GRANT ALL ON db01.* TO ‘user01’@’192.168.1.5’;”
3、例如薯蘆#創(chuàng)建數(shù)據(jù)隱核庫,允許user01在%(任意IP)訪問
mysql -uroot -pe”CREATE USER ‘user01’@’%’ IDENTIFIED BY ‘123456’;”
mysql -uroot -pe”GRANT ALL ON db01.* TO ‘user01’@’%’;”
4、查詢user和相應(yīng)host
select user,host from user;
5、遠(yuǎn)程訪問mysql測試
c mysql數(shù)據(jù)庫服務(wù)器的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于c mysql數(shù)據(jù)庫服務(wù)器,C語言操作MySQL數(shù)據(jù)庫服務(wù)器,怎么鏈接一個服務(wù)器上的mysql數(shù)據(jù)庫的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)(cdcxhl.com)提供穩(wěn)定的云服務(wù)器,香港云服務(wù)器,BGP云服務(wù)器,雙線云服務(wù)器,高防云服務(wù)器,成都云服務(wù)器,服務(wù)器托管。精選鉅惠,歡迎咨詢:028-86922220。
網(wǎng)站名稱:C語言操作MySQL數(shù)據(jù)庫服務(wù)器(cmysql數(shù)據(jù)庫服務(wù)器)
地址分享:http://www.fisionsoft.com.cn/article/djpdooj.html


咨詢
建站咨詢
