查看數據庫結構mysql
mysql是一套數據庫管理系統,在每一臺mysql服務器中,支持運行多個庫,每一個庫至關於一個容器,其中存放多個表。表中的每一行包含一條具體的數據關係信息,稱爲數據記錄。
linux
查看當前服務器中有哪些庫
sql
show databases;查看當前mysql服務器中包含的庫。經初始化後的mysql服務器,默認創建的test,mysql(包含了用戶認證相關的表),information_schema,performance_schema
shell
查看當前使用的庫有那些表
數據庫
show tables:操做前須要先使用use切換到所使用的數據庫。mysql數據庫文件存放在/usr/local/mysql/data目錄文件,後綴分別是.frm,.myd,.myi。
安全
查看錶結構
服務器
describe:顯示錶的結構,組成表的各字段的信息。
less
建立及刪除庫和表ide
建立新的庫
工具
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 [選項] [庫名] [表名] < /備份路徑/備份文件名
當備份文件只包含表的備份,而不包括建立庫的語句是,則執行導入操做必須執行庫名,且目標庫必須存在。若備份文件已經包括完整的庫信息,則執行導入操做時無須指定庫名。