Mysql
MySQL root 問題(root 使用者訪問被拒絕)
我的 MySQL (5.5) root 使用者遇到了一些非常奇怪的問題。我試圖允許外部主機訪問 root 使用者,但似乎我的 root@localhost 沒有本地數據庫的“GRANT OPTION”!我認為此時的問題是由於我認為我有兩個 root@localhost 使用者,兩個使用者都有不同的授權規則,但我不知道如何重新安裝。
我已經嘗試刪除root使用者並重新創建它(我認為),重置root使用者密碼(修改mysql數據庫本身)
我無法使用我一直指定的密碼進入 root 帳戶,而是使用備用密碼,我什至不知道我是如何獲得的……這個備用使用者似乎沒有完整的root 權限,但仍稱為 root。
–下面發布的解決方案–
找到了解決方案——這是由於將 MySQL 從 MySQL 5.1 更新到 MySQL 5.5 並隨之移動身份驗證模式(MySQL 數據庫本身)而引起的。由於此架構的核心更新將其與 5.5 數據庫一起使用,根本無法工作,導致兩個主要錯誤: 無法授予權限,因為 root Mysql 使用者已刪除
您可以在禁用身份驗證的情況下啟動 MySQL。從那裡您可以創建/刪除 MySQL 的管理帳戶。
您可以在 MySQL 文件中找到詳細資訊:http: //dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
- 關閉 MySQL
- 使用以下命令啟動 MySQL:
mysqld --skip-grant-tables --skip-networking
- 在 mysql 中執行:
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
對於較新的 MySQL 版本:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; GRANT ALL PRIVILEGES ON \*.\* TO 'root'@'localhost' WITH GRANT OPTION;
- 關閉 MySQL
- 像往常一樣啟動 MySQL。