1、 1. mysql在linux下的编译和安装 [root@localhost zieckey]# mkdir /usr/local/mysql [root@localhost zieckey]# cp mysql-4.0.12.tar.gz /home/ [root@localhost root]# cd /home/ 解压 [root@localhost home]# tar zxvf mysql-4.0.12.tar.gz [root@localhost home]# cd mysql-4.0.12 配置,生成Makefile [root@localhost mysq
2、l-4.0.12]# ./configure --prefix=/usr/local/mysql --without-debug --with-extra-charsets=gb2312 --enable-assembler --without-isam --without-innodb --with-pthread --enable-thread-safe-client 编译 [root@localhost mysql-4.0.12]# make 安装 [root@localhost mysql-4.0.12]# make install [root@localhost my
3、sql-4.0.12]# scripts/mysql_install_db 创建一个数据库管理员 [root@localhost mysql-4.0.12]# groupadd mysql [root@localhost mysql-4.0.12]# useradd -g mysql mysql 改变权限。 [root@localhost mysql]# chown -R root /usr/local/mysql [root@localhost mysql]# chown -R mysql /usr/local/mysql/var [root@localhos
4、t mysql]# chgrp -R mysql /usr/local/mysql 配置环境变量,以便于编程 [root@localhost mysql-4.0.12]# cd /usr/local/mysql/bin/ [root@localhost bin]# export PATH=$PATH:/usr/local/mysql/bin/ [root@localhost bin]# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib/mysql/ [root@localhost bin]# e
5、nv 启动mysql服务器 [root@localhost root]# cd /usr/local/mysql/bin/ [root@localhost bin]# ./mysqld_safe -u mysql& Starting mysqld daemon with databases from /usr/local/mysql/var 查看是否启动了 [root@localhost root]# pgrep mysql 15931 15950 15951 启动一个mysql客户端 [root@localhost root]# /usr/loc
6、al/mysql/bin/mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 4.0.12 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 创建一个数据库 mysql> create database cusemysql; Query OK, 1 row affected (0.00 sec) 并使用这
7、个数据库 mysql> use cusemysql; Database changed 在给数据库内创建一个表 mysql> create table children(childno int not null unique,fname varchar(20),age int); Query OK, 0 rows affected (0.00 sec) 在该表内插入一项数据 mysql> insert into children values(5,"花儿",10); Query OK, 1 row affected (0.00 sec) mysql> select
8、 * from children;
+---------+-------+------+
| childno | fname | age |
+---------+-------+------+
| 5 | 花儿 | 10 |
+---------+-------+------+
1 row in set (0.03 sec)
mysql>
2. 下面进行具体的操作
/* insert.c */
#include
9、地址,一般在mysql下的include目录下,仔细看看你的在哪里?*/ int main(int argc, char *argv[]) { MYSQL my_connection; int res; mysql_init(&my_connection); /*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) == NULL)*/ if (mysql_real_connect(&my_connection, "localhost", "root", ""
10、"cusemysql",0,NULL,CLIENT_FOUND_ROWS)) { printf("Connection success\n"); res = mysql_query(&my_connection, "insert into children values(11,'Anny',5)"); if (!res) { printf("Inserted %lu rows\n",(unsigned long)mysql_affected_rows(&my_connection
11、)); /*里头的函数返回受表中影响的行数*/ } else { //分别打印出错误代码及详细信息 fprintf(stderr, "Insert error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection)); } mysql_close(&my_connection); } else { fprin
12、tf(stderr, "Connection failed\n"); if (mysql_errno(&my_connection)) { fprintf(stderr, "Connection error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection)); } } return EXIT_SUCCESS; } gcc -o insert insert.c -lmysqlclient -I/usr/local/mysql/include/mysql/ -L/usr/local/mysql/lib/mysql 我用用 -lmysqlclient 选项就可以了(前面我们生成的库文件是 libmysqlclient.so.12.0.0 等, 去掉前面的lib和后面的版本标志,就剩下 mysqlclient 了所以是 -lmysqlclient )。






