Mysql安全機制

2022-07-15 14:39:14 字數 3303 閱讀 2642

在mysql下mysql庫中有6個許可權表

mysql.user 

使用者字段,許可權字段,安全字段,資源控制字段

mysql.db 、 mysql.host

使用者字段,許可權字段

mysql.tables_priv,mysql.columms_priv,mysql.procs_priv

一、使用者管理

(1)建立使用者的三種方法

1.create user user1@'

localhost

' identified by '

123456';

2.insert into mysql.user(user,host,password,ssl_cipher,x509_issuer,x509_subject) values('

user2

','localhost

',password('

123456

'),'','',''

);3.grant select on *.* to user3@'

localhost

' identified by '

123' //授select權所有庫和所有表給user3,密碼123

flush privileges

(2)刪除使用者

1.drop user user1@'

localhost

'2.delete from mysql.user where user='

user1

' and host='

localhost

';

(3)root使用者修改自己密碼

1.mysqladmin -uroot -proot password '

123'

2.update mydql.user set password=password('

new_password

') where user='

root

' and host='

localhost';

3.set password=password('

new_password

')flush privileges //重新整理授權表

(4)root使用者修改其他使用者密碼

1.set password for user3@'

localhost

' =password('

new_password');

flush privileges;

2.updatae mysql.user set password=password('

new_password

') where user='

user3

' and host='

localhost';

flush privileges;

3.grant select on *.* to user3@'

localhost

' identified by '

pwd'

;flush privileges;

(5)普通使用者修改自己密碼

set password=password('

new_password

');

(6)丟失root使用者密碼

vim /etc/my.cnf

skip-grant-tables//

將這句話的注釋去掉

service mysqld restart

mysql -uroot //

然後就可以跳過許可權表進入mysql

update mysql.user set password=password('

new_password

') where user='

user3

' and host='

localhost';

flush privileges;

\q

//退出mysql

vim /etc/my.cnf

#skip-grant-tables //

將這句話再重新注釋

二、許可權管理

語法格式:grant 許可權列表 on 庫名.表名 to 使用者名稱@'客戶端' [identified by 'password' with grant option]

其中:with_option引數如下

grant option: 授權選項

max_queries_per_hour:定義每小時允許執行的查詢數

max_updates_per_hou:定義每小時允許執行的更新數

max_connections_per-hour:定義每小時可以建立的連線數

max-user_connections:定義單個使用者同是可以建立的連線數

授權示例

grant all on *.* to admin1@'

%' identified by '

password';

grant all on *.* to admin2@'

%' identified by 'pw'

with grant option;

grant all on *.* bbs.* to admin3@'

%' identified by 'pw'

;grant all on bbs.user to admin4@'%

' identified by 'pw'

;grant

select(col1),insert(col2,col3) on bbs.user to admin5@'

%' identified by 'pw'

;flush privileges

檢視許可權

show grants for admin@'

%' \g;

**許可權 revoke 許可權列表 on 資料庫名 from 使用者名稱@'客戶端主機'

1.revoke delete on *.* from admin@'

%';//

**部分許可權

2.revoke all privileges on *.* from admin@'%'

;revoke grant on *.* from admin@'

%'; //

**全部許可權(包括授權)

flush privileges; //重新整理授權

mysql安全機制 Mysql安全機制

在mysql下mysql庫中有6個許可權表 mysql.user 使用者字段,許可權字段,安全字段,資源控制字段 mysql.db mysql.host 使用者字段,許可權字段 mysql.tables priv,mysql.columms priv,mysql.procs priv 一 使用者管理...

MySQL安全機制 DDL DCL

一 mysql使用者管理 1.修改使用者密碼 root修改自己密碼 方法一 mysqladmin uroot p 123 password new password 123為舊密碼 方法二 mysql update mysql.user set authentication string passw...

mysql管理之安全機制

mysql.user表 非常重要 一 使用者字段 二 許可權字段 三 安全字段 四 資源控制字段 mysql.db mysql.hsot 使用者字段 許可權字段 mysql.tables priv mysql.columms priv procs priv 登入和退出mysql 例項 mysql h...