一、 使用者管理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...