C语言对mysql数据库的操作

这已经是一相当老的话题。不过今天我才首次使用,把今天的一些体会写下来,也许能给一些新手带来一定的帮助,更重要的是供自己今后忘记的怎么使用而进行查阅的!

我们言归正传
1.头文件:
#include <stdio.h>
#include <stdlib.h>
#include "/usr/local/mysql/include/mysql/mysql.h"  //这个是必需要包含的,下面对mysql的所有操作函数,都出自这里
2.定义一个MYSQL变量:
MYSQL mysql;
这里MYSQL是一个用于连接MySql数据库的变量。
在后面对mysql数据库的操作中,我们就用这个MYSQL变量作为句柄的。
3.定义数据库参数:
char host[32]=”localhost”;
char user[32]=”username”;
char passwd[32]=”pwd”;
char dbname[32]=”testdb”;
4.数据库操作
1).初始化数据库:
mysql_init(&mysql);
2).连接数据库:
mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0);
我们在操作时,可以对以上的函数进行if测试,如果初始化或者连接出错,作出相应提示,以便调试。 Continue reading

FreeBSD/Linux检测硬盘坏道 第二篇

Linux认证:FreeBSD/Linux检测硬盘坏道,$badblocks -s //显示进度 -w //以写去检测 -v //显示执行详细情况 /dev/sda2

Linux检测硬盘坏道

badblocks

功能说明:检查磁盘装置中损坏的区块。

语法:badblocks [-svw][-b ][-o ][磁盘装置][磁盘区块数][启始区块]

补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。

参数:

-b 指定磁盘的区块大小,单位为字节。 Continue reading

configure: error: mcrypt.h not found. Please reinstall libmcrypt

今日参考以前的文章http://blog.haohtml.com/index.php/archives/6051安装lnmp的时候,发现这次在安装php的时候竟然提示"configure: error: mcrypt.h not found. Please reinstall libmcrypt",意思是,没有查找到mcrytp.h,需要安装libcrytp,以前安装了n次都没有问题的,在网上找了一个解决办法.

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz

tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
mkdir -p /usr/local/libmcrytp
./configure prefix=/usr/local/libmcrytp/
make
make install

然后再安装PHP

 

linux的mount(挂载)命令详解

点评:linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享 linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的linux下挂载(mount)光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享.
linux是一个优秀的开放源码的操作系统,可以运行在大到巨型小到掌上型各类计算机系统上,随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性,linux在全世界得到了越来越广泛的应用。现在许多企业的计算机系统都是由UNIX系 统、Linux系统和Windows系统组成的混合系统,不同系统之间经常需要进行数据交换。下面我根据自己的实际工作经验介绍一下如何在linux系统 下挂接(mount)光盘镜像文件、移动硬盘、U盘以及Windows网络共享和UNIX NFS网络共享。

挂接命令(mount) Continue reading

mysql删除大表更快的drop table办法

曾经发文介绍过,DROP table XXX ,特别是碰到大表时,
http://www.mysqlops.com/2011/02/18/mysql-drop-table-%e5%a4%84%e7%90%86%e8%bf%87%e7%a8%8b.html
在DROP TABLE 过程中,所有操作都会被HANG住。
这是因为INNODB会维护一个全局独占锁(在table cache上面),直到DROP TABLE完成才释放。
在我们常用的ext3,ext4,ntfs文件系统,要删除一个大文件(几十G,甚至几百G)还是需要点时间的。
下面我们介绍一个快速DROP table 的方法; 不管多大的表,INNODB 都可以很快返回,表删除完成;
实现:巧用LINK(硬链接) Continue reading

Windows下apache 实现 SSL

SSL:安全套接层,是netscape公司设计的主要用于web的安全传输协议。这种协议在WEB上获得了广泛的应用。通过证书认证来确保客户端和网站服务器之间的数据是安全,过程大致如下:

SSL客户端在TCP连接建立之后,发出一个消息给服务器,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL的服务器端会回应一个数据包,这里面确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥)。Client在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。

如果对于一般的应用,管理员只需生成“证书请求”(后缀大多为.csr),它包含你的名字和公钥,然后把这份请求交给诸如verisign等有CA服务公司,你的证书请求经验证后,CA用它的私钥签名,形成正式的证书发还给你。管理员再在web server上导入这个证书就行了。如果你不想花那笔钱,或者想了解一下原理,可以自己做CA。从ca的角度讲,你需要CA的私钥和公钥。从想要证书的服 务器角度将,需要把服务器的证书请求交给CA. Continue reading

启用 Ubuntu 中的 root 帐号

其实我个人认为这没有多大必要,因为当你需要 root 的权限时,使用 sudo 便可以了。如果你实在需要在 Ubuntu 中启用 root 帐号的话,那么不妨执行下面的操作:

sudo passwd root

此命令将会重新设置 root 的密码,按照提示输入新的密码,并加以确认。之后,重启系统时,就可以用 root 登录了。

如果你想要禁用 root 帐号,则执行下列命令:

sudo passwd -l root