mysql 12章 MySQL資料庫的高階管理

2022-04-12 05:42:27 字數 3731 閱讀 1761

一、    使用者管理

root使用者是mysql資料庫管理系統中的系統管理員,但在實際開發過程中通常需要根據不同的開發者分配不同的使用者,這樣有利於使用者的管理和維護。

1、 使用者的建立:

1) 方式1:使用mysql提供的使用者管理語句完成create user

語法:  

create

user

《使用者名稱@主機名

> identified by

《初始密碼》

;說明:

identified by用於指定使用者的初始密碼,系統會自動對密碼進行加密處理,新建立的使用者將被儲存到mysql.user表中,密碼採用加密後的暗文儲存。

舉例:  

create

user

'user_39

'@'localhost

' identified by "123456

";  

select

*from mysql.`user

`;  

drop

user

user_39;  2

) 方式2:通過使用insert into語句向mysql.user表中新增記錄,達到建立使用者的目的。

語法:insert

into

。。。。。。

說明:a) 有6個字段通常需要賦值:host、

user

、password、ssl_cipher、x509_issuer、x509_subject

b) 不會自動對密碼加密,需要時可以使用password()函式手動加密

c) 使用者建立後需要使用許可權重新整理語句flush

privileges

;才能被系統識別

舉例:--密碼需要用加密函式

insert

into mysql.user(host,user

,password,ssl_cipher,x509_issuer,x509_subject)

values('

localhost

','user_399

',password('

123456

'),'','',''

);    

--重新整理許可權

flush privileges

;    

--刪除user_399

delete

from mysql.`user` where host =

'localhost

'and

user='

user_399';

2、 使用者許可權的授予:

語法:  

grant on to

《使用者名稱@主機名

>

[identified by 密碼][

with grant option];

說明:  

1) all是所有許可權的萬用字元,*

是所有資料庫和資料庫對向的萬用字元。  2

) 使用grant也可以建立不存在的新使用者,同時也完成授權。

3) with

grant

option若新增此項表示被授權的使用者還可以將許可權授予其他使用者,前提是該使用者具有grant的許可權。

舉例:  

grant

allon myschool39.*to'

user_39

'@'localhost

'with

grant

option;  

grant

allon mysql.*to'

user_39

'@'localhost

'with

grant

option;3

、 使用者許可權的**:

語法:  

revoke on from

《使用者名稱@主機名

>

;說明:當某個使用者的許可權被**時,它授予出去的許可權會不會被**?

舉例:revoke

allon myschool39.*

from

'user_39

'@'localhost';

4、 使用者的修改:修改使用者密碼

語法:  

set password [

for 使用者名稱@主機名]=

password(新密碼);

說明:  

1) for 使用者名稱@主機名

:指定給其他某個使用者修改密碼,不指定表示給當前使用者修改密碼。  2

) passw()函式必須使用,否則無法完成修改。

舉例:  

1. set password for

'user_39

'@'localhost

'= password('

654321

'); --

給user_39修改密碼

2. set password = password('

654321

'); --

給當前使用者修改密碼

5、 刪除使用者

語法:drop

user

《使用者名稱@主機名

>

;   舉例:

二、 資料庫的備份與恢復

為了防止意外發生,我們需要對資料庫中的資料進行備份,一旦災難來臨時,可以使用備份的資料進行恢復。

mysql提供了備份和恢復的命令,命令需要在dos命令提示符下使用。

1. 資料庫的備份

語法1:備份單個資料庫

c:\>mysqldump -u 使用者名稱 –p 密碼 資料庫名 資料表名 1 資料表名 2

>

路徑\及備份檔案名.sql

語法2:備份多個資料庫

c:\>mysqldump -u 使用者名稱 –p 密碼 --

databases 資料庫名 資料表名 1 資料表名 2 > 路徑\及備份檔案名.sql

語法3:備份全部資料庫

c:\>mysqldump -u 使用者名稱 –p 密碼 –-all-databases >

路徑\及備份檔案名.sql

舉例:  

1) mysqldump –u root -proot myschool39 >

d:\db39.sql

2) mysqldump –u root -proot --

databases myschool39 mysql > d:\mutil.sql

3) mysqldump –u root -proot –-all-databases > d:\all

.sql

2. 資料庫的恢復

語法1:恢復單個資料庫

c:\>mysqldump -u 使用者名稱 –p密碼 資料庫名 <

路徑\及備份檔案名.sql

語法2:恢復多個或全部資料庫

c:\>mysqldump -u 使用者名稱 –p密碼 <

路徑\及備份檔案名.sql

舉例:  

1) mysqldump –u root -proot myschool39 <

d:\db39.sql

2) mysqldump –u root -proot <

d:\mutil.sql

3) mysqldump –u root -proot < d:\all.sql

MySQL 12 資料備份與還原

備份單個資料庫的所有 部分 表 mysqldump u user h host ppassword dbname tbname,tbname.filename.sql 備份多個資料庫 mysqldump u user h host p databases dbname,dbname.filename...

MySQL(12) 之 DQL查詢(聯合查詢)

union 聯合或者合併 將多條查詢語句的結果合併成乙個結果 語法 查詢語句1 union 查詢語句2 union 應用場景 要查詢的結果來自多個表,且多個表沒有直接的連線關係,但是查詢的資訊是一致時 特點 1.查詢列數是一致的 2.列數是一致的,每列的型別,和順序要一致 3.union 會去重複 ...

mysql 第12章 儲存過程

2015 10 24 目錄 例1 管理員工的儲存過程定義 delimiter create procedure employee add p name char 64 p email char 64 p password char 64 modifies sql data begin declare...