天天看點

mysql資料庫

檢視資料庫結構

    mysql是一套資料庫管理系統,在每一台mysql伺服器中,支援運作多個庫,每個庫相當于一個容器,其中存放多個表。表中的每一行包含一條具體的資料關系資訊,稱為資料記錄。

    檢視目前伺服器中有哪些庫

        show databases;檢視目前mysql伺服器中包含的庫。經初始化後的mysql伺服器,預設建立的test,mysql(包含了使用者認證相關的表),information_schema,performance_schema

    檢視目前使用的庫有那些表

         show tables:操作前需要先使用use切換到所使用的資料庫。mysql資料庫檔案存放在/usr/local/mysql/data目錄檔案,字尾分别是.frm,.myd,.myi。

    檢視表結構

        describe:顯示表的結構,組成表的各字段的資訊。

建立及删除庫和表

    建立新的庫

        create datebase:需指定資料庫名稱作為參數。剛建立的資料庫是空的,其中不包含任何表,在/usr/local/mysql/data目錄下會自動生成一個與建立的庫名相同的空檔案夾。

    建立新的表

        create table:并定義該表格鎖使用的各字段。建立表之前,應先明确資料表格的結構,各字段的名稱和類型等資訊。

    删除一個資料表

        drop table:用于删除庫中的表,需指定庫名表名作為參數。

    删除一個資料庫

        drop database:删除指定庫。

管理表中的資料記錄

    插入資料記錄

        insert into:用于向表中插入新的資料記錄。

        insert into 表名(字段1,字段2,。。。) values(字段1的值,字段2的值,。。。)插入新的資料記錄是,如果這條記錄完整包括标表中的所有字段的值,則插入語句中指定字段的部分可以省略。

    查詢資料記錄

        select:從指定的表中查找符合條件的資料記錄

        select 字段名1,字段名2,。。。 from 表名 where 條件表達式。所有字段時,可以使用通配符*,若要顯示所有的資料記錄則可以省略where條件子句。

    修改資料記錄

        update:用于修改,更新表中的資料記錄

         update 表名 set 字段名1=字段值1[,字段名=字段值2] where 條件表達式

    mysql資料伺服器中,用于通路資料庫的各種使用者資訊都儲存在mysql庫的user表中。

    update mysql.user set password=pwassword('密碼') where user=‘root’

        若是在linux1指令行環境中執行,可以使用mysqladmin工具設定密碼

    mysqladmin -u root -p password ‘密碼’

    删除資料記錄

        delete:删除表中指定的資料記錄

        delete from 表名 where 條件表達式

        mysql中資料伺服器中,預設添加從本機通路資料的空使用者(user,password均為空)。

資料的使用者授權

    mysql資料庫的root使用者賬号擁有對所有庫,表的全部權限。

    授予權限

        grant語句:用來設定資料庫使用者的通路權限,當指定的使用者名不存在是,grant語句将會建立新的使用者,否則grant語句使用者修改使用者資訊

        grant 權限清單 on 庫名.表名 to 使用者名@來源位址 [identified by '密碼']

        權限清單:以逗号分隔,如select,insert,update。all表示所有權限

        庫名.表名:用于指定授權操作的庫和表的名稱,可以使用通配符*

        使用者名@來源位址:指定使用者名稱和允許通路的客戶機位址。來源可以是域名,ip位址,還可以使用%通配符,表示某個區域或網段内的所有位址。

        identified by:設定使用者連接配接資料庫是所使用的密碼字元串。若省略,則使用者的密碼将為空。實際生産環境中,資料庫與網站伺服器有時候是互相獨立的。

    檢視權限

        show grants語句:檢視資料庫使用者的授權資訊,通過for子句可指定檢視的使用者對象。

    撤銷權限

        revoke語句:撤銷指定使用者的資料庫權限,撤銷權限後的使用者仍然可以連接配接到mysql伺服器,但将被禁止執行對應的資料庫操作。

        revoke 權限清單 on 資料庫名.表名 from 使用者名@來源位址

資料庫的備份與恢複

    及時備份資料庫是資訊安全管理的重要工作之一。 

    備份資料庫:通過mysqldump可以将指定的庫,表或全部的庫導出sql腳本,便于該指令在不同版本的mysql伺服器上使用。

        執行導出操作:使用mysqldump指令導出資料時,預設會之間在終端顯示,若要儲存到檔案,需要結合shell的>重定向輸出操作

        導出指定庫中的部分表:

        mysqldump [選項] 庫名 [表名1] [表名2] ... > /備份路徑/備份檔案名

        導出一個或多個完整的庫

        mysqldump [選項] --databases 庫名1 [庫名2] ... > /備份路徑/備份檔案名

        備份mysql伺服器中所有的庫

        mysqldump [選項] --all-databases > /備份路徑/備份檔案名

        常用的選項包括-u,=p,分别指定資料庫使用者名,密碼。

        檢視備份檔案内容

            通過mysqldump工具導出的sql腳本是文本檔案,其中/*...*/部分以--開頭的哈那個表示注釋資訊,使用grep,less,cat等文本工具可以檢視腳本内容。

    恢複資料庫

        使用mysqldump指令導出的sql備份腳本,在需要恢複時可以通過mysql指令對其進行導入操作。

        mysql [選項] [庫名] [表名] < /備份路徑/備份檔案名

            當備份檔案隻包含表的備份,而不包括建立庫的語句是,則執行導入操作必須執行庫名,且目标庫必須存在。若備份檔案已經包括完整的庫資訊,則執行導入操作時無須指定庫名。

本文轉自   宏強   51CTO部落格,原文連結:http://blog.51cto.com/tanhong/1907238