Ubuntu下MySql和C连接的一些问题

xinjinlong | 2010-11-15 17:28:01    阅读:3224

发布文章

接上一贴继续,主要是用C从MySql里读取数据,中间遇到了一些问题幸好本人平时为人和善终于把问题解决了,今天特拿来于各位分享,好了,闲话少说,步入正题:

第一,安装MySql:

1、sudo apt-get intsall mysql-server

2、sudo apt-get install mysql-client

3、判断是否安装成功:

sudo netstat -tap | grep mysql

如果安装成功会出现现面的提示:

tcp 0 0 localhost.localdomain:mysql *:* LISTEN

如果没有成功,重新启动MySql:sudo /etc/init.d/mysql restart

4、直接在中断下面进入MySql:sudo mysql -u root -p

第二:安装要和C 语言连接是的MySql的库文件和头文件:

sudo apt-get install libmysqlclient15-dev

你可以看看是否安装成功,运行下面命令:

cd /usr/include/mysql 查看头文件是否有

cd /usr/lib/mysql 查看库文件是否有

第三:编写测试实例

1、创建自己的数据库

登录MySql :create database db1和create table test

2、编写C语言测试程序:

//test.c

#include

#include

int main(int argc, char **argv)

{

MYSQL mysql_conn; /* Connection handle */

MYSQL_RES *mysql_result; /* Result handle */

MYSQL_ROW mysql_row; /* Row data */

int f1, f2, num_row, num_col;

if (mysql_init(&mysql_conn) != NULL)

{

if (mysql_real_connect(&mysql_conn, "localhost", "user",

"password", "db1", MYSQL_PORT, NULL, 0) != NULL)

{

mysql_query(&mysql_conn,"SET NAMES 'utf8' ");//为了防止有中文读出是??

if (mysql_query(&mysql_conn, "select * from test") == 0)

{

mysql_result = mysql_store_result(&mysql_conn);

num_row = mysql_num_rows(mysql_result);

/* Get the no. of row */

num_col = mysql_num_fields(mysql_result);

/* Get the no. of column */

printf("row=%d, col=%d\n",num_row,num_col);

for (f1 = 0; f1 < num_row; f1++)

{

mysql_row = mysql_fetch_row(mysql_result);

for (f2 = 0; f2 < num_col; f2++)

{

/* Fetch one by one */

printf("[Row %d, Col %d] ==> [%s]\n", f1, f2, mysql_row[f2]);

}

}

} else

{

(void) printf("Query fails\n");

}

} else

{

(void) printf("Connection fails\n");

}

} else

{

(void) printf("Initialization fails\n");

}

mysql_free_result(mysql_result);

mysql_close(&mysql_conn);

printf("quit\n");

return 0;

}

因为数据库里面有汉字,查了一些资料也要在连接数据源是设置字符集,但是就是不知道把这句:mysql_query(&mysql_conn,"SET NAMES 'utf8' ");

放到什么位置,程序明明已经来连接一次数据源,难道还要链接吗?

最后实在没有办法就连接两次,一次设置字符集,一次查询,谁知道成功读出汉字,可能是本人巧合,不求甚解吧?

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论

请登录...

登录后参与讨论

ubuntu c mysql_Ubuntu下MySql和C连接的一些问题相关推荐

  1. ubuntu 导入mysql_Ubuntu 下MySQL导入数据库.sql文件 命令

    Ubuntu 下首先建好数据库,如tempmysql -h localhost -u root -p templt;/home/pt/test.sql会提示你输入密码,输入就OK.2. 导入 Ubun ...

  2. linux上mysql允许远程连接,linux下mysql允许远程连接

    1. MySql安装教程 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html 默认情况下mysq的 roo ...

  3. ubyntu 链接mysql_ubuntu下mysql连接(转载)

    ubuntu下mysql默认只能从本地连接的解决方法 sudo gedit /etc/mysql/my.cnf 修改一个字段 bind-address = 127.0.0.1 -> bind-a ...

  4. ubuntu安装与配置mysql_ubuntu下mysql的安装与配置

    安装MySQL sudo apt-get install mysql-server 这个应该很简单了,而且我觉得大家在安装方面也没什么太大题目,所以也就未几说了,下面我们来讲讲配置. 配置MySQL ...

  5. linux mysql远程链接_Linux下mysql实现远程连接

    首先明白一点并不是mysql禁止远程连接,而是MYSQL的账号禁止远程连接.可能觉得我有点咬文嚼字了,不过我感觉分清这点还是很重要的.默认情况下,所有账号都是禁止远程连接的.在安装MYSQL的时候,在 ...

  6. ubuntu 环境下调试mysql源码_【转】Ubuntu 16.04下 Mysql 5.7.17源码编译与安装

    Ubuntu 16.04下 Mysql5.7.17源码编译与安装 系统环境 一. 系统安装条件 1.cmake MySQL使用cmake跨平台工具预编译源码,用于设置mysql的编译参数. sudo ...

  7. liunx下mysql远程连接_Linux下mysql实现远程连接

    首先明白一点并不是mysql禁止远程连接,而是MYSQL的账号禁止远程连接.可能觉得我有点咬文嚼字了,不过我感觉分清这点还是很重要的.默认情况下,所有账号都是禁止远程连接的.在安装MYSQL的时候,在 ...

  8. edup无线网卡驱动安装linux,EDUP EP-N8513 (RTL8188CUS芯片)在Ubuntu 12.10下的wifi不能连接问题解决方法...

    EDUP EP-N8513这款USB微型无线网卡在我刚装上的64位Ubuntu 12.10下虽然能被系统识别出来,但是并不能正常连接无线AP,具体表现为可以看到AP列表,尝试连接后不停的询问密码,即使 ...

  9. ubuntu eclipse mysql_ubuntu下eclipse连接mysql

    提示:一定要保证电脑处于联网状态 我们要下载一个mysql-connector-java-5.0.8-bin.jar的东西(当然这个jar包的版本号和你的mysql版本号的关系不是非常大),放到你新建 ...

最新文章

  1. uart协议_UART协议简介
  2. java中的乐活锁_(转)[乐活]别抱怨了,Shit happens!
  3. php头尾分离,laravel怎么做模板的头尾分离
  4. 【强化学习】MOVE37-Introduction(导论)/马尔科夫链/马尔科夫决策过程
  5. 一张“黑洞”照片需半吨重硬盘?!
  6. Linux管理员常用的组合命令
  7. 从代码书写理解指针,很重要
  8. 8.Jenkins 权威指南 --- 自动化部署和持续交付
  9. SwitchHost无法切换环境
  10. H5页面原生gps 定位获取经纬度
  11. 基于单片机at89s52的频率计设计c语言程序,基于AT89S52单片机的数字频率计的设计...
  12. (python)爬虫----八个项目带你进入爬虫的世界
  13. Codeforces 1077B Disturbed People(思维题)
  14. 四.树莓派4B-更换系统源
  15. 用计算机过去机读卡,阅卷机读卡机答题卡使用流程
  16. python学习(一)数据类型和运算符
  17. HDU-3374 String Problem
  18. python中4j_GitHub - Byron4j/PythonVeterans: Python新手到老鸟的历程;基于Python 3.6
  19. excel一列数字里有特殊符号怎么求和
  20. Mybatis The error may involve defaultParameterMap ### The error occurred while setting parameters

热门文章

  1. python命名元组
  2. 用python实现自己的小说阅读器
  3. linux ubuntu 切换到超级用户失败的解决办法(su 认证失败)
  4. opencv在pycharm上没有函数提示?(需要安装opencv-contrib-python)
  5. opencv python 图像测试上采样(升采样)(cv2.pyrUp()) 下采样(cv2.pyrDown()) 池化 滑动窗口(BorderTypes)
  6. Intel Realsense 如何获取已连接所有摄像头的序列号参数?context() query_devices() size() camera_info device_list
  7. Linux下Keepalived安装与配置
  8. 忘记mysql登录密码怎么办
  9. 在开发中遇到过内存溢出么?原因有哪些?解决方法有哪些?
  10. Mybatis 源码探究 (3)创建 SqlSessionFactory对象 执行sqlSession.getMapper()方法