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

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


咨詢
建站咨詢
