mysql8.0修改root密碼
阿新 • • 發佈:2021-01-13
-
出現錯誤
# mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
-
mysql8 centos 修改root的密碼
-- 1 修改 /etc/my.cnf
-- 2 新增 skip-grant-tables (跳過 登入驗證)
-- 3 輸入 mysql -uroot mysql; -- 4 修改密碼 use mysql; -- 這是mysql5的命令 不可取! -- update user set authenticate_string = password("密碼") where user="使用者名稱"; -- 限制為空 update user set authenticate_string = '' where user="root";
以上:首先:在mysql8.0以上的版本中 是沒有password這個欄位的。廢棄了mysql5中的 password
其次:使用的aithentication_string 欄位。
以上的目的是將root賬戶設定為不需要祕密登入。
-- 5 重新整理 儲存設定。 flush privileges -- 6 退出 exit -- 7 刪除 skip-grant-tables -- 8 登入 直接回車就好了 mysql -uroot -p; -- 9 修改密碼 use mysql; ALTER user 'root'@'localhost' IDENTIFIED BY 'admin123' -- 10 exit; 以上的加密方式是 mysql_native_password
- 檢視
mysql> select host ,user,authentication_string from mysql.user ; +-----------+------------------+---------------------------------------------------------- | host | user | authentication_string +-----------+------------------+---------------------------------------------------------- | % | admin | *7CB4837EB74329105EE4568DDA74C67ED5CA2CD0 | localhost | root | *B17FD343E758C86BECB196715EEF742400603C5E +-----------+------------------+---------------------------------------------------------- 9 rows in set (0.00 sec) -- % 表示可以遠端連線 -- localhost 表示本地連線