MySQL的安全設定

基於linux系統的安裝,能夠容許安全安裝腳原本設定安全設置。mysql

mysql_secure_installation.sh,主要的做用是設定root賬戶的密碼和刪除匿名賬戶。運行該腳本,mysqld必須處於運行狀態。最終只有一個root賬戶,而且只能經過localhost進行訪問。能夠添加其餘的帳戶。linux

l        設置root賬戶的密碼sql

l        只容許localhost使用root帳戶登錄數據庫

l        刪除匿名賬戶安全

l        刪除test數據庫ide

不要手動的去修改mysql中的user表中的數據,使用命令管理命令去修改表中的數據。函數

 

修改MySQL的root用戶的密碼方式:(注意不是系統的root用戶)加密

使用set password語句spa

使用root用戶登陸到MySQL,而後用set password 爲user表中的每一個root用戶設定密碼,注意密碼要用PASSWORD()來進行加密。orm

Set password for ‘root’@’localhost’ = password(‘new-password’);

set password for ‘root’@’%’= password(‘new-password’);

update statement

在使用SQL的DML語句進行更新密碼是,必定要使用password函數進行加密

Update user set password=password(‘newpwd’) where user=’root’;

Flush privileges;

若是不使用FLUSH PRIVILEGES,只能在下次啓動系統時,update的做用纔會體現出來。

mysqladmin command-line client program

Shell>mysqladmin –u root password 「newpwd」;

Shell>mysqladmin –u root –h hostname password 「newpwd」

注意:’root’@’127.0.0.1’不能使用mysqladmin來設定密碼,用前兩種方式

給匿名【Anonymous】用戶設定密碼

什麼是匿名用戶,就是在mysql.user中user爲空,但host不爲空的那些用戶,也就是linux上存在的任何一個用戶。

用mysql的用戶root登陸,執行如下的命令:

方法1)

Mysql>set password for ‘’@’localhost’=password(‘newpwd’);

Mysql>set password for ‘’@’%‘ = password(‘newpwd’);

方法2

Mysql>update user set password=password(‘newpwd’) where user=’’;

Mysql>flush privileges;


刪除用戶

Mysql> drop user ‘’@’localhost’;

Mysql> drop user ‘’@’%’;

Mysql> drop user ‘username’@’hostname’;

控制數據庫的安全,好比test數據庫

      主要是經過修改mysql.db來達到控制數據庫的安全設定的。

Delete from db where db=’test\_%’;

Flush privileges;

添加數據庫的用戶

有兩種方式來添加數據庫的用戶。

用create user 或者 grant 語句。

直接使用insert,update,delete語句操做mysql.user表

Mysql> create user ‘cmwin’@’%’ identified by ‘cmwin’;

Mysql> grant all privileges on *.* to ‘cmwin’@’%’ with grant option;或者

Mysql> grant select,insert,update,delete,create,drop on test.* to ‘cmwin’@’%’;

Show grants for ‘cmwin’@’localhost’;

相關文章
相關標籤/搜索