首頁 > 軟體

MySQL 賬號密碼錯誤終極解決方法

2022-08-22 14:03:22

前言

MySQL 版本:v8.0.27

準備工作:

MySQL 環境變數設定無誤,可直接在命令列執行 mysql、mysqld 等服務

解法一:進入 MySQL 安全模式,無密碼登入

第一步:停止 mysql 服務

第二步:以管理員許可權執行命令列 mysqld --console --skip-grant-tables --shared-memory

注意:mysqld –skip-grant-tables 實測在 MySQL 8.0 中已失效。

第三步:重新開啟一個管理員許可權的命令列視窗,輸入 mysql

第四步:修改 root 使用者密碼和使用者許可權

當執行語句出現錯誤:

  • ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
  • 執行 flush privileges; 重新整理許可權即可
  • 新建使用者: create user '{username}'@'localhost' identified by '‘{password}'; flush privileges;
  • 修改密碼: Alter user '{username}'@'localhost' identified by '{new_password}'; flush privileges;
  • 授權: grant all privileges on *.* to '{username}'@'localhost' with grant option;

解法二:初始化 MySQL

第一步:停止 mysql 服務

第二步:轉移 MySQL 資料儲存目錄

將組態檔 my.ini 中的 datadir 屬性修改為目標路徑(可以將原 /data 資料夾下的內容複製轉移),或直接將 /data 刪掉。

管理員許可權開啟命令列,輸入 mysqld --initialize --user=mysql --console,會生成初始化密碼:

第三步:啟動 mysql 服務

第四步:通過初始密碼進入 MySQL 並修改使用者密碼

Tips

檢視 service 服務專案設定所在位置

右鍵點選服務項,開啟屬性;組態檔在可執行檔案路徑中。

指定埠號登陸 MySQL

# 大寫 -P 為埠號引數
$ mysql -u root -P 3307 -h localhost -p

檢視和修改 MySQL 埠號

檢視埠號

登入資料庫後,在 mysql> 後面輸入 show global variables like 'port'; 或直接輸入 s

修改埠號:

  • 停止 mysql 服務;
  • 修改 my.ini 檔案,記事本開啟,找到 [mysqld] 下面的 port,修改後儲存;
# The TCP/IP Port the MySQL Server will listen on
port=3306

啟動 mysql 服務;

到此這篇關於MySQL 賬號密碼錯誤終極解決方法的文章就介紹到這了,更多相關MySQL密碼錯誤解法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com