CentOS 6.8 安裝MySql+GCC 編譯
阿新 • • 發佈:2019-01-26
安裝Mysql
1 . 檢視是否安裝Mysql
# rpm -qa | grep mysql
2 . 檢視可用版本
# yum list | grep mysql
3 . 安裝伺服器、客戶端、開發庫
# yum install -y mysql-server mysql mysql-deve
4 . 檢視安裝的版本
# rpm -qi mysql-server
配置Mysql
- 首次啟動
# service mysqld start
下面有很多提示
- 設定資料庫root使用者密碼
# mysqladmin -u root password '我是密碼'
- 登入資料庫
# mysql -u root -p
輸入剛剛設定的密碼
- 設定Mysql服務開機啟動
# chkconfig mysqld on
通過以下命令檢視是否設定
# chkconfig --list | grep mysql
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
檢視修改Mysql標頭檔案和庫檔案
1 . 查詢標頭檔案
sudo find / -name 'mysql'
查到mysql資料夾在 /usr/include
2 . 檢視連結庫檔案
sudo find / -name '*mysqlclient*'
結果為:
/usr/lib64/mysql/libmysqlclient_r.so.16
/usr/lib64/mysql/libmysqlclient.so
/usr/lib64/mysql/libmysqlclient_r.so
/usr/lib64/mysql/libmysqlclient.so.16.0.0
/usr/lib64/mysql/libmysqlclient.so.16
/usr/lib64/mysql/libmysqlclient_r.so.16.0.0
而gcc在尋找庫檔案,預設是沒有這個路徑的所以把
libmysqlclient.so
libmysqlclient.so.16.0.0
libmysqlclient.so.16
這三個檔案複製到 /usr/lib/ 下
3 . 測試
//本程式在
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql/mysql.h>
#define MAX_COLUMN_LEN 32
int main(int argc , char *argv[])
{
MYSQL my_connection;
MYSQL_RES *result;
MYSQL_ROW sql_row;
MYSQL_FIELD *fd;
char column[MAX_COLUMN_LEN][MAX_COLUMN_LEN];
int res;
mysql_init(&my_connection);
if(mysql_real_connect(&my_connection,"127.0.0.1","root","root","test",3306,NULL,0))
{
perror("connect");
res=mysql_query(&my_connection,"select * from c_test");//查詢
if(!res)
{
result=mysql_store_result(&my_connection);//儲存查詢到的資料到result
if(result)
{
int i,j;
printf("the result number is %lu\n ",(unsigned long)mysql_num_rows(result));
for(i=0;fd=mysql_fetch_field(result);i++)//獲取列名
{
bzero(column[i],sizeof(column[i]));
strcpy(column[i],fd->name);
}
j=mysql_num_fields(result);
for(i=0;i<j;i++)
{
printf("%s\t",column[i]);
}
printf("\n");
while(sql_row=mysql_fetch_row(result))//獲取具體的資料
{
for(i=0;i<j;i++)
{
printf("%s\t",sql_row[i]);
}
printf("\n");
}
}
}
else
{
perror("select");
}
}
else
{
perror("connect:error");
}
//mysql_free_result(MYSQL_RES *result);//釋放結果資源
mysql_close(&my_connection);//斷開連線
}
以上程式源連結
編譯命令
gcc mysqltest.c -lmysqlclient
這是資料庫中資料
mysql> select * from c_test;
+------+------+
| id | name |
+------+------+
| 1 | aaa |
| 3 | c |
| 2 | bbb |
| 4 | d |
+------+------+
4 rows in set (0.00 sec)
./a.out後結果
connect: Success
the result number is 4
id name
1 aaa
3 c
2 bbb
4 d