Linux Mysql數據庫安全配置


 Linux  Mysql數據庫安全配置

目錄:

1.修改mysql管理員賬號root的密碼(2種方法)

2.修改mysql管理員賬號root

3.mysql管理員root賬號密碼遺忘解決辦法(2種方法)

4.創建數據庫用戶(3種方法)

5.mysql數據庫權限管理

  本地權限

  網絡權限

       撤銷權限

       刪除用戶

一、修改mysql管理員賬號root的密碼

方法一:shell命令

mysqladmin  -u  root  -p  password  "123"

  

2.查看密碼存放的表

  

方法二:mysql數據庫命令

mysql>use mysql;

mysql>update user set password=password('123') where user='root' and host='localhost';

mysql> FLUSH PRIVILEGES;        #刷新

  

測試密碼修改是否成功

  

二、修改mysql管理員賬號root

update mysql.user set user="admin" where user="root" and host="localhost";

flush privileges;

  

測試

  

三、mysql管理員root賬號密碼遺忘

方法一:

killall -TERM mysqld

mysqld_safe --skip-grant-tables &

mysql -u admin 

mysql>update user set password=password('123456') where user='admin' and host='localhost';

mysql> FLUSH PRIVILEGES;

MySQL> quit

重新啟動MySQL,使用新密碼登錄

  

設置新的密碼,並刷新修改

  

測試,重啟mysqld服務用新的密碼登錄

  

方法二:

修改/etc/my.cnf

在[Mysqld]下添加:

skip-grant-tables  

重啟MySQL服務

mysql -u root

mysql>update user set password=password('123') where user='admin' and host='localhost';

mysql> FLUSH PRIVILEGES;

MySQL> quit 

修改/etc/my.cnf  刪除skip-grant-tables  

重新啟動MySQL,使用新密碼登錄

  

測試

修改/etc/my.cnf  刪除skip-grant-tables  

重新啟動MySQL,使用新密碼登錄

  

四、創建數據庫用戶

方法一:

INSERT INTO user(host, user, password, select_priv, insert_priv, update_priv)     VALUES ('localhost', 'yuzly', PASSWORD('yuzly'), 'Y', 'Y', 'Y');

  

方法二:

CREATE  USER  'user1'@'localhost'  IDENTIFIED  BY 'yuzly';

  

方法三:通過新用戶授權創建數據庫用戶

  

五、權限管理

本地權限

1.創建一個zhang用戶,只給select權限,然后查看權限

 

2.登錄zhang用戶,mysql -uzhang -pyuzly測試,創建一個表,下圖顯示被拒絕,當前賬戶沒有create權限

  

3.登錄管理員賬戶,給zhangsan賬戶添加create權限

  

4.重新登錄zhangsan賬戶,測試是否具有create權限,下圖說明具有create權限

  

5.插入一條數據,下圖提示沒有insert權限

 

6.登錄管理員賬戶,給zhangsan賬戶添加insert權限

  

7.重新登錄zhangsan賬戶,測試是否具有insert權限,下圖說明具有insert權限

  

8.創建的新用戶,默認沒有任何權限,下圖可以看到創建的用戶默認是沒有任何權限的

  

9.登錄新創建的用戶mysql -uabcd -pyuzly,測試,下圖可以看到abcd沒有select等權限,用show只能查看mysql系統自帶的東西,別的用戶創建的數據庫等看不到

  

遠程連接權限

 1.創建一個賬戶,賦予遠程登錄權限

grant all on userdb.* to 'abc'@'10.10.10.200' identified by 'yuzly';

flush privileges;

 

2.測試,從另一台Linux的Mysql客戶端登錄驗證

  

3.下圖可以看到,abc用戶對userdb數據庫具有任何權限,但對別的數據庫沒有任何權限,例如mysql.user

  

4.遠程連接限制一個網段

  

5.測試

  

撤銷權限

revoke all on userdb.* from 'zhangsan'@'localhost';

  

測試,撤消zhangsan賬戶的權限是否生效

   

刪除賬戶

delete from mysql.user where user="aaa" and host="localhost";

  

 

 

 

---------------------------------------------------------------------------------------------------

Mysql數據庫基礎學習筆記:https://www.cnblogs.com/yuzly/p/10582295.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM