Linux Mysql數據庫安全配置

 Linux  Mysql數據庫安全配置html

目錄:mysql

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

2.修改mysql管理員帳號rootshell

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

4.建立數據庫用戶(3種方法)安全

5.mysql數據庫權限管理網絡

  本地權限ide

  網絡權限學習

       撤銷權限測試

       刪除用戶

1、修改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;        #刷新

  

測試密碼修改是否成功

  

2、修改mysql管理員帳號root

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

flush privileges;

  

測試

  

3、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,使用新密碼登陸

  

4、建立數據庫用戶

方法一:

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';

  

方法三:經過新用戶受權建立數據庫用戶

  

5、權限管理

本地權限

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

原文出處:https://www.cnblogs.com/yuzly/p/10583808.html

相關文章
相關標籤/搜索