นโยบายการจัดการความรู้ มหาวิทยาลัยสงขลานครินทร์ 1.ให้ใช้เครื่องมือการจัดการความรู้ผลักดัน คุณภาพคน และกระบวนทำงาน 2.ส่งเสริมการแลกเปลี่ยนประสบการณ์การทำงาน จากหน้างาน 3.ส่งเสริมให้มีเวทีเรียนรู้ร่วมกัน

ServiceMan
Ico64
Sathaya Bunratchoo
Engineer
Scientific Equipment Center, PSU
เครือข่าย
สมาชิก · ติดตาม: 3 · ผู้ติดตาม: 2

อ่าน: 2456
ความเห็น: 4

Linux MySQL Programming #1

บันทึกกันลืม การเข้าถึง MyQSL โดยใช้ gcc

1. ก่อนอื่นต้องมี MySQL Server ซึ่งไม่ยากทุกคนที่อยู่ในวงการติดตั้งเป็นอยู่แล้ว

 MySQL Server จะอยู่ในเครื่องเดียวกันหรือ คนละเครื่องก็ได้ครับ (Remote connection)

 2.ต้องติดตั้ง MySQL Client ครับ ผมใช้ Fedora อยู่ก็สามารถ Install ง่ายๆ โดยการสั่งยำครับ

  $ yum list | grep mysql   // ดูก่อนว่ามีตัวไหนบ้าง

  $ yum install mysqlclient  // ติดตั้ง mysqlclient (มีหลาย version เลือกเองนะครับ)
  (apt-get install mysql-client)

  3. ต้องติดตั้ง mysql devel ครับ

   $ yum install mysql-devel
   (apt-get install libmysqlclient-dev)

  4. ที่ขาดไม่ได้ต้องมี gcc ครับผมตรวจสอบโดย

   $ gcc หากขึ้น gcc: no input files แสดงว่าท่านมี gcc ไว้พร้อมใช้งานแล้วครับ

 

มาเริ่มบทแรกกันเลยครับ การเชื่อมต่อกับ MySQL Server

// connect1.c 

#include <stdlib.h>
#include <stdio.h>

#include "mysql.h"

int main(int argc, char *argv[]) {
   MYSQL *conn_ptr;

   conn_ptr = mysql_init(NULL);
   if (!conn_ptr) {
      fprintf(stderr, "mysql_init failed\n");
      return EXIT_FAILURE;
   }
  
   conn_ptr = mysql_real_connect(conn_ptr, "localhost", "user_name", "password",
                                                     "db_name", 0, NULL, 0);

   if (conn_ptr) {
      printf("Connection success\n");
   } else {
      printf("Connection failed\n");
   }

   mysql_close(conn_ptr);

   return EXIT_SUCCESS;
}

Compile โดยใช้คำสั่ง

$ gcc -I/usr/include/mysql connect1.c -L/usr/lib/mysql -lmysqlclient -lz -o connect1.o 

### หากท่านใช้ 64 bit (x86_64) ให้ใช้

$ gcc -I/usr/include/mysql connect1.c -L/usr/lib64/mysql -lmysqlclient -lz -o connect1.o

ทดสอบการ Run โดย

$ ./mysql1.o
Connection success

จบบทแรกเรื่องการเชื่อมต่อครับผม

เอกสารอ้างอิง :

Neil Matthew, Richard Stones, Alan Cox

หมวดหมู่บันทึก: เรื่องทั่วไป
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ Copyright
สร้าง: 01 เมษายน 2552 09:17 แก้ไข: 22 สิงหาคม 2557 13:25 [ แจ้งไม่เหมาะสม ]
ดอกไม้
สมาชิกที่ให้กำลังใจ
 
Facebook
Twitter
Google

บันทึกอื่นๆ

ความเห็น

โอ้ว ขอบคุณครับ สุดยอดเลย ใช้ภาษา C กันเรย

ผมก็กระดืบๆกับ PHP ต่อกับ MySQL แล้วเรียกผ่าน Shell Script น่ะครับ

คืนอาจารย์หมดแล้วภาษา C

ขอบคุณครับ

ผมลองแล้วได้ผลลัพธ์แบบนี้อ่ะครับ

connect1.c:4:19: error: mysql.h: No such file or directory
connect1.c: In function âmainâ:
connect1.c:7: error: âMYSQLâ undeclared (first use in this function)
connect1.c:7: error: (Each undeclared identifier is reported only once
connect1.c:7: error: for each function it appears in.)
connect1.c:7: error: âconn_ptrâ undeclared (first use in this function)

อ่อผมใช้ สูตร1จะสามารถใช้งานร่วมกับ ภาษา c ได้หรือเปล่าครับ เพราะตัวอย่างของพี่เป็นfedora
แต่มันมี gcc มาให้แล้วนะครับ..

โ)รแกรมที่ยกตัวอย่างเป็นภาษา C ครับ

error > connect1.c:4:19: error: mysql.h: No such file or directory  แสดงว่ายังไม่ ติดตั้ง mysql devel ครับ

ร่วมแสดงความเห็นในหน้านี้

ชื่อ:
อีเมล:
IP แอดเดรส: 35.175.133.127
ข้อความ:  
เรียกเครื่องมือจัดการข้อความ
   
ยกเลิก หรือ