基於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’; |