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 [選項] [庫名] [表名] < /備份路徑/備份文件名

            當備份文件只包含表的備份,而不包括創建庫的語句是,則執行導入操作必須執行庫名,且目標庫必須存在。若備份文件已經包括完整的庫信息,則執行導入操作時無須指定庫名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章