ubuntu下安裝軟件至關簡單,一條簡單的 apt-get install 就能夠解決,相比源碼安裝方式惟一的缺點就是,你沒法自定義軟件的安裝目錄。不過這也不是什麼太大的缺點。下面咱們就用 apt-get 工具來安裝MySQL數據庫。mysql
安裝以前先查看一下系統是否已經安裝過MySQL了。以下如:sql
上圖顯示的結果代表,你的系統沒有安裝MySQL。下面執行 apt-get install mysql-server mysql-client進行安裝。以下圖:數據庫
輸入 y 進行安裝,以後會彈出一個界面要求輸入MySQL管理員root的密碼,以後再次確認。以下圖:編程
而後系統會自動安裝MySQL直到完成。ubuntu
安裝完成後,咱們能夠再次經過 netstat -tap | grep mysql 來查看系統是否已經有了 mysql 服務,以下圖:vim
出現上面的信息,說明咱們安裝MySQL成功。系統每次啓動時,都會自動開啓mysql服務。咱們也能夠用service命令來手動開啓或關閉mysql服務(前提是咱們具備管理員權限),以下所示:ide
service mysql start工具
service mysql stopfetch
service mysql restartspa
mysql 的配置文件在 /etc/mysql/my.cnf 這裏就不介紹配置了。這裏惟一須要說的是,mysql5.5版本的字符集設置問題,從下面的圖也能夠看到,character_set_database和character_set_server這兩個的字符集默認是latin1,這是西方國家使用的字符集,不能顯示漢字。所以,咱們須要在配置文件中設置一下字符集。vim /etc/mysql/my.cnf打開配置文件,找到 [mysqld]節,添加 character-set-server=utf8保存便可。由於客戶端的字符集默認是utf8,因此只用修改一下服務端就能夠了。
登陸數據庫命令:mysql -u root -p 回車後,輸入咱們前面所設的MySQL管理員密碼,就能夠成功登陸了。如圖:
若是要查看數據庫使用的字符集,能夠輸入 show variables like 'character%'; 如圖:
若是要更改這些,在配置文件 my.cnf 裏更改便可。
至此,安裝mysql成功。
下面介紹 mysql 的幾個經常使用命令:
顯示數據庫列表: show databases;
切換一個數據庫: use "db_name";
查詢數據庫中的表: show tables; (先選擇一個數據庫以後再查詢表)
顯示某個表建立時的信息:show create table "table_name";
查看錶的字段信息及屬性:describe "table_name"; desc "table_name";
查看數據庫運行環境信息:status;
建立一個數據庫: create database [if not exists] "db_name";
刪除一個數據庫: drop database [if exists] "db_name";
建立一個數據表: create table "table_name" (字段代號 字段類型,...);
刪除一個數據表: drop table "table_name";
向表中插入記錄: insert into "table_name" [(字段1,字段2,...)] values (值1,值2,...);
刪除表中的記錄: delete from "table_name" where nid=100;
更新表中的記錄: update "table_name" set level=2,salary=2000.0 where 條件
查詢表中的數據: select * from "table_name";
select 字段1,字段2 from "table_name";
接下來,說說怎麼用C語言編程來操做數據庫:
開發C程序的時候,咱們須要 mysql.h 這個頭文件。前面咱們安裝的數據庫並不包含這個頭文件,咱們若是須要開發應用程序的話,必須再安裝一個開發包,名字爲 libmysqlclient-dev。以下操做:
至此,咱們就能夠用C語言開發應用程序了。須要操做數據庫的話,只需包含 mysql.h 這個頭文件。
下面給出一個簡單的操做數據庫的C語言代碼示例:
1 /* Simple C program that connects to MySQL Database server */ 2 #include <stdio.h> 3 #include <mysql.h> 4 #include <stdlib.h> 5 6 int main(void) 7 { 8 MYSQL *conn; 9 MYSQL_RES *res; 10 MYSQL_ROW row; 11 12 char *server = "localhost"; 13 char *user = "root"; 14 char *password = "12345"; 15 char *database = "mysql"; 16 17 conn = mysql_init(NULL); 18 19 /* Connect to database */ 20 if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { 21 fprintf(stderr, "%s\n", mysql_error(conn)); 22 exit(1); 23 } 24 25 /* send SQL query */ 26 if (mysql_query(conn, "show tables")) { 27 fprintf(stderr, "%s\n", mysql_error(conn)); 28 exit(1); 29 } 30 31 res = mysql_use_result(conn); 32 33 /* output table name */ 34 printf("MySQL Tables in mysql database:\n"); 35 while ( (row = mysql_fetch_row(res)) != NULL) 36 printf("%s \n", row[0]); 37 38 /* close connect */ 39 mysql_free_result(res); 40 mysql_close(conn); 41 }
編譯的時候,使用以下代碼:
gcc $(mysql_config --cflags) xxx.c -o xxx $(mysql_config --libs)
本程序會鏈接本地數據庫mysql,而後輸出數據庫 mysql 中包含的全部表信息。注意gcc的參數順序。