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"

  Linux如何安全配置Mysql數據庫

2.查看密碼存放的表

 Linux如何安全配置Mysql數據庫 

方法二:mysql數據庫命令

mysql>use?mysql; mysql>update?user?set?password=password('123')?where?user='root'?and?host='localhost'; mysql>?FLUSH?PRIVILEGES;????????#刷新

  Linux如何安全配置Mysql數據庫

測試密碼修改是否成功

  Linux如何安全配置Mysql數據庫

二、修改mysql管理員賬號root

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

  Linux如何安全配置Mysql數據庫

測試

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

方法二:

修改/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,使用新密碼登錄

  Linux如何安全配置Mysql數據庫

測試

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

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

  Linux如何安全配置Mysql數據庫

四、創建數據庫用戶

方法一:

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

  Linux如何安全配置Mysql數據庫

方法二:

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

五、權限管理

本地權限

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

 Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

 Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

遠程連接權限

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

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

 Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

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

  Linux如何安全配置Mysql數據庫

5.測試

  Linux如何安全配置Mysql數據庫

撤銷權限

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

  Linux如何安全配置Mysql數據庫

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

?  Linux如何安全配置Mysql數據庫

刪除賬戶

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

  Linux如何安全配置Mysql數據庫

相關視頻教程推薦:《MySQL教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享