Linux環境下MySQL的安裝、密碼策略、忘記密碼后的破解及用戶授權等。


mysql安裝、用戶密碼、密碼策略、授權用戶等(mysql5.7版本)

1.mysql安裝后相關目錄與文件:
    主配置文件: /etc/my.cnf
    數據庫目錄: /var/lib/mysql/
    默認端口號: 3306
    進程名: mysqld
    傳輸協議: TCP
    進程所有者: mysql
    進程所屬組: mysql
    錯誤日志文件: /var/log/mysql.log

2.mysql密碼策略:
    0或者LOW 長度;
    1或者MEDIUM 長度;數字、小寫/大寫,特殊字符
    2或者STRONG 長度;數字、小寫/大寫,特殊字符;字典文件

3.恢復root密碼的相關配置說明(當mysql的root密碼忘記時使用)
    --skip_grant_tables:此選項會讓MySQL服務器跳過驗證步驟,允許所有用戶以匿名的方式,無需做密碼驗證直接登陸MySQL服務器,並且擁有所有的操作權限。
    --skip_networking:此選項會關門MySQL服務器的遠程連接。這是因為以--skip_grant_tables方式啟動MySQL服務器會有很大的安全隱患,為了降低風險,需要禁止遠程客戶端的連接。

4.mysql授權用戶的權限:
  命令        權限
  usage          無權限
  SELECT      查詢表記錄
  INSERT       插入表記錄
  UPDATE      更新表記錄
  DELETE      刪除表記錄
  CREATE      創建庫、表
  DROP       刪除庫、表
  RELOAD     有重新載入授權 必須擁有reload權限,才可以執行flush [tables | logs | privileges]
  SHUTDOWN    允許關閉mysql服務 使用mysqladmin shutdown 來關閉mysql
  PROCESS    允許查看用戶登錄數據庫服務器的進程 ( show processlist; )
  FILE       導入、導出數據
  REFERENCES   創建外鍵
  INDEX      創建索引
  ALTER        修改表結構
  SHOW DATABASES             查看庫
  SUPER               關閉屬於任何用戶的線程
  CREATE TEMPORARY TABLES   允許在create table 語句中使用 TEMPORARY關鍵字
  LOCK TABLES             允許使用 LOCK TABLES 語句
  EXECUTE             執行存在的Functions,Procedures
  REPLICATION SLAVE       從主服務器讀取二進制日志
  REPLICATION CLIENT        允許在主/從數據庫服務器上使用 show status命令
  CREATE VIEW             創建視圖
  SHOW VIEW              查看視圖
  CREATE ROUTINE         創建存儲過程
  ALTER ROUTINE            修改存儲過程
  CREATE USER             創建用戶
  EVENT                有操作事件的權限
  TRIGGER,             有操作觸發器的權限
  CREATE TABLESPACE        有創建表空間的權限

5.授權用戶的客戶端地址:
  庫名
  所有庫所有表:    *.*
  一個庫:       庫名.*
  一張表:       庫名.表名

6.授權用戶的用戶名:
  授權時自定義 要有標示性,存儲在mysql庫的user表里

7.授權用戶的客戶端地址
  所有主機:         %
  網段內的所有主機:   192.168.1.%
  1台主機:        192.168.1.1
  數據庫服務器本機:   lsocalhost


具體過程如下:

將下載好的軟件包使用tar -xvf 命令解壓后使用yum軟件管理工具安裝(使用yum安裝可以解決依賴關系)

  

提示如下則安裝成功。(也可以使用、rpm -qa | grep mysql 查看軟件是否已安裝)

  

啟動mysql服務

  

利用grep 工具篩選包括password的行,使用隨機密碼登錄mysql數據庫,現在會發現無法執行查詢語句,因為首次登錄需要修改密碼。

  

修改數據庫本地用戶root登錄密碼為‘Aa123456...’(如下圖修改密碼后執行查詢語句就不會報錯)

  

使用修改后的密碼登錄系統(修改的密碼要遵循mysql默認的密碼策略,即長度為8,包含數字、小寫/大寫,特殊字符)

  

 

 

 修改密碼策略為0,長度為6,並設置密碼為123456(密碼策略為0是只驗證密碼長度,上述有詳細介紹)

  

退出當前連接,使用修改后密碼連接

  

 

 

 上述命令行中密碼策略的修改為臨時修改,重啟服務無效,永久修改需寫入、/etc/my.cnf配置文件中,如下:

 在mysql命令行下也能執行系統命令,需在命令前加system 如修改配置文件system  /etc/my.cnf

   

查看當前密碼策略已經為LOW(0)長度為6

  

 

 

 在配置文件中添加如下配置項重啟后實現跳過驗證恢復root密碼(必須把上述在配置文件的密碼策略注釋才會重啟成功)

  

重啟服務后,輸入mysql直接進入數據庫

       

 

 

 通過mysql庫下的user表修改本地root用戶密碼為654321,

       

刪除剛才的跳過驗證無密碼登錄額配置或者注釋,重啟服務,使用剛剛修改的密碼654321登錄數據庫服務

   

 

 新建jrjs庫.jrjs表

   

 

 授權一個jrjs用戶權限為所有權限,密碼為“Aa123456.”

  

 

 使用授權用戶jrjs登錄數據庫,查看當前登錄用戶權限。

   

 

  以上就是關於mysql數據庫密碼,用戶授權,配置文件等的相關知識及具體操作方法。

                                                2019-09-21

 


免責聲明!

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



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