檢視資料庫結構
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