檢視mysql系統當前存在的使用者
通過1中,我們知道資料庫的使用者資訊存在mysql資料庫中的user表中,我們查詢該表,結果如下。Host欄位是當前使用者可登入的ip地址(如果是*則代表可任意地址登入),User欄位是使用者名稱稱,Password是使用者密碼。
mysql> select Host, User, Password from user;
|Host | User | Password|
| :---: | :---: | :---:|
|localhost | root | 6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9|
|127.0.0.1 | root | 6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9|
|::1 | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9|
自定義使用者
為什麼需要自定義使用者呢?我們會從如下幾個方面考慮,許可權、職能。
預設的root使用者屬於mysql中的超級管理員的職能,如果每個人都能拿到該root的許可權,容易發生一些操作錯誤,輕者資料庫部分資料出現問題,重則整個資料庫遭到毀滅。
預設的root使用者屬於mysql中的超級管理員的職能,容易遭到懷有惡意企圖的人所利用。
預設的root使用者屬於mysql中的超級管理員的職能,給定指定使用者相應的許可權,可以保證每個使用者只能使用該使用者職責內的許可權,既可以保證資料庫的分工更加精細化,同時也保證了資料庫的安全。
建立mysql使用者
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
// 給該使用者授予相應的許可權(privileges_name為all時,則表示授予所有許可權;當privilege_name具體到某些許可權是,privileges不需要新增,下面收回許可權處的含義一致)
GRANT privileges_name privileges ON databasename.tablename TO 'username'@'host';
// 重新整理許可權,使新建立的使用者能夠使用
flush privileges;
// 收回使用者許可權
phpREVOKE privileges_name privilege ON databasename.tablename FROM 'username'@'host';
如果我們建立了相同的使用者名稱,需要刪除第一次建立時的使用者名稱,不能只刪除mysql庫下的user表資訊,應該使用drop user username命令進行刪除使用者操作。然後使用flushprivileges進行許可權重新整理。如果按照上述操作,提示使用者無法登入,檢視防火牆狀態,centos7防火牆設定參考連結
刪除使用者
drop USER 'username'@'host';
重新整理許可權
flush privilege
修改使用者密碼
// 修改指定使用者密碼
set password for'username'@'host' = password('newpassword');
// 設定當前登入使用者的密碼
set password = password('newpassword');
centos設定防火牆
1.centos6設定防火牆
a.檢視防火牆狀態
service iptable status
b.重啟防火牆
service iptables restart
c.開放埠
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
d.檢視開放的埠
/etc/init.d/iptables status
e.關閉防火牆
servcie iptables stop(臨時關閉)
chkconfig iptables off(永久關閉)
f.啟動防火牆
service iptables start(臨時生效)
chkconfig iptables on(永久生效)
2.centos7設定防火牆
a.檢視防火牆狀態(3種方式)
1.firewall-cmd --state
2.systemctl list-unit-files|grep firewalld.service
3.systemctl status firewalld.service
b.重啟防火牆
systemctl restart firewalld.service
c.開放埠
firewall-cmd --zone=public --add-port=80/tcp --permanent
–zone #作用域
–add-port=80/tcp #新增埠,格式為:埠/通訊協議
–permanent #永久生效,沒有此引數重啟後失效
d.檢視開放的埠
firewall-cmd --list-ports
e.關閉防火牆
systemctl stop firewalld.service(臨時關閉)
systemctl disable firewalld.service(永久禁用)
f.啟動防火牆
systemctl start firewalld.service