728x90
MySql lib๋ฅผ ๋ฆฌ๋ ์ค C์์ ์ฌ์ฉํ๊ธฐ
์ฝ์์์ mysql ์ ์๋ฐฉ๋ฒ
๋ก์ฝ ์๋ฒ์ ์ ์
- ๋ช
๋ น์ด :
mysql -u ๊ณ์ ๋ช -p
- ex)
mysql -u root -p
- ex)
- ๋ช
๋ น์ด :
์๊ฒฉ์ง์ ์ ์
- ๋ช
๋ น์ด :
mysql -h ํธ์คํธ์ฃผ์(ip) -P ํฌํธ๋ฒํธ -u ๊ณ์ ๋ช -p
- ex) mysql -h 192.168.2.201 -P 22 -u root -p
- ๋ช
๋ น์ด :
์๊ฒฉ์ง์ ํน์ database์ ์ ์
- ๋ช
๋ น์ด :
mysql -h ํธ์คํธ์ฃผ์(ip) - P ํฌํธ๋ฒํธ -u ๊ณ์ ๋ช -p ๋๋น์ด๋ฆ
- ex) mysql -h 192.168.2.201 -P 22 -u root -p userDB
- ๋ช
๋ น์ด :
mysql ์ ์ํ๊ธฐ
- Mysql ๋๋ ํ ๋ฆฌ ์์ db_lib ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฒ
- ๊ฐ db_lib ๊ฒฝ๋ก๋ก export๋ฅผ ๋จผ์ ์งํ
$ export LD_LIBRARY_PATH=:/home/khnoh/mysql/db_lib
- ์์ ๋ฐฉ๋ฒ์ ํฐ๋ฏธ๋์ ์คํํ ๋ ๋ง๋ค export ํด์ผ ์ ์์ ์ผ๋ก ์๋๋๋ค.
vi ~/.bashrc
bashrc๋ ๋ณ์นญ(alias)๊ณผ bash๊ฐ ์ํ๋ ๋ ์คํ๋๋ ํจ์๋ฅผ ์ ์ดํ๋ ์ง์ญ์ ์ธ ์์คํ ์ค์ ๊ณผ ๊ด๋ จ๋ ํ์ผ๋ก์จ, ๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ธฐ ์ ์ํ๋๋ค.export LD_LIBRARY_PATH=:/home/khnoh/mysql/db_lib
๋ฅผ ์ถ๊ฐํด์ค๋ค.
- C ํ์ผ ์ปดํ์ผ ํ๋ ๋ฒ ex) main.c
#include<stdio.h>
#include<stdlib.h>
#include<mysql.h>
#include<errno.h>
void main(int argc, char **argv){
MYSQL *conn;
MYSQL_RES *result;
MYSQL_ROW row;
char query_buffer[2048];
conn = mysql_init(NULL);
if(!mysql_real_connect(conn, "127.0.0.1", "root", "PASSWORD", NULL, 0, NULL, 0)){
printf("Cannot connect");
exit(1);
}
else {
if (mysql_select_db(conn, "ausf")){
printf("cannot use database");
exit(1);
}
}
sprintf(query_buffer, "%s", "show tables");
if(mysql_query(conn, query_buffer)){
printf("query faild : %s\n", query_buffer);
exit(1);
}
result = mysql_use_result(conn);
while((row = mysql_fetch_row(result)) != NULL)
printf("%s \n", row[0]);
mysql_free_result(result);
mysql_close(conn);
}
include ๊ฒฝ๋ก์ library๊ฒฝ๋ก๋ฅผ ๋ฐ๋์ ์ง์ / lmysqlclient ์ถ๊ฐ์ ์ผ๋ก ์ ๋ ฅํด์ผ ์ ์์ ์ผ๋ก ์คํ๋๋ค.
$ gcc main.c -o main -I/home/khnoh/mysql/include -L/home/khnoh/mysql/db_lib -lmysqlclient
C API ์๋ฃํ
- MYSQL : Database์์ ์ฐ๊ฒฐ์ ๊ด๋ฆฌํ๋ ๊ตฌ์กฐ์ฒด์ด๋ค. ๋๋ถ๋ถ์ C API ํจ์์์ ์ฐ์ธ๋ค.
- MYSQL_RES : SELECT ๋ฑ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ๋ query์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ ์๋ฃํ์ด๋ค.
- MYSQL_ROW : MYSQL_RES์์ ํ๋์ ๋ ์ฝ๋์ฉ ๊ฐ์ ์ป์ด ์ฌ๋ ์ฐ์ด๋ ์๋ฃํ์ด๋ค.
- MYSQL_FIELD : ํ๋์ ์ด๋ฆ๊ณผ ํ๋์ ํ์ ๋ฑ ํ๋์ ๊ดํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์๋ฃํ์ด๋ค.
์ ์์ ์ผ๋ก ์์ฑ๋ ๋ชจ์ต
์ฐธ์กฐ
์ํ์ฝ๋ฉ-MySQL
๋๊ธํ ๊ฐ๋ฐ์-[MySQL] MySQL lib๋ฅผ ๋ฆฌ๋ ์ค C์์ ์ฌ์ฉํ๊ธฐ
์ฝ๋๊ณต์ฅ-console์์ MySQL ์ ์๋ฐฉ๋ฒ
AweSome Life-[Linux] ๋ฆฌ๋ ์ค C ์์ mysql ์ ์ํ๊ธฐ
'TIL (Today I Learned) > Linux' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Linux] ํ๊ฒฝ๋ณ์ (0) | 2021.08.27 |
---|---|
[Linux] make์ Makefile (0) | 2021.08.25 |
[Linux] ๋ช ๋ น์ด ๋ฐฑ๊ทธ๋ผ์ด๋ (0) | 2021.08.25 |
[Linux] vi ํ๋ฉด ๋ถํ (0) | 2021.08.23 |
[Linux] shell script (0) | 2021.08.23 |