簡體   English   中英

Ubuntu 18.04 啟動 mysql 無root權限

[英]Ubuntu 18.04 start mysql without root privilege

我剛剛安裝了 ubuntu 18.04 並在其上安裝了 LAMP,但是我在沒有 root 權限的情況下使用 mysql 時遇到了問題。 當我寫:

mysql -u root -p

並輸入我配置的密碼,它拋出訪問被拒絕。 除非我寫

須藤 mysql -u root -p

並輸入我能夠連接的密碼。 但我不想要 sudo,因為它會阻止工作台連接到 mysql,這同樣適用於 phpmyadmin。 關於如何解決這個問題的任何提示?

它應該只是需要 sudo 的“-u root”用戶。 無論如何,最好不要將 root 用於大多數訪問,因此只需使用 sudo 以 root 身份登錄並創建一個新用戶:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

然后你應該能夠在沒有 sudo 的情況下訪問“mysql -u newuser”。

我昨天也遇到了這個問題。 要解決此問題,請執行以下步驟:

  1. 連接到 MySQL: sudo mysql -u root
  2. 檢查數據庫中的 mysql 用戶: SELECT User,Host FROM mysql.user;
  3. 刪除 root 用戶帳戶: DROP USER 'root'@'localhost';
  4. 重新創建 root 用戶: CREATE USER 'root'@'%' IDENTIFIED BY ''
  5. 授予 root 用戶所有權限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  6. 為 root 用戶設置密碼: ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword';

就是這樣! 現在您應該能夠連接 MySQL。

我在工作台中使用 Ubuntu 18.04 和 mysql 5.7 版,但按照以下 10 個步驟解決了這個問題

  1. 連接到 MySQL: sudo mysql -u root
  2. 檢查數據庫中的 mysql 用戶: SELECT User,Host FROM mysql.user;
  3. 刪除 root 用戶帳戶: DROP USER 'root'@'localhost';
  4. SET GLOBAL validate_password_length = 5;
  5. SET GLOBAL validate_password_number_count = 0;
  6. SET GLOBAL validate_password_mixed_case_count = 0;
  7. SET GLOBAL validate_password_special_char_count = 0;
  8. SET GLOBAL validate_password_policy = LOW;
  9. 重新創建 root 用戶: CREATE USER 'root'@'%' IDENTIFIED BY 'admin'
  10. 授予 root 用戶所有權限: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

在此處輸入圖像描述1. UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';

2.同花順特權;

如果在沒有 sudo 的情況下無法使用任何 mysql 用戶連接到 mysql,請嘗試:

sudo chmod -R 755 /var/lib/mysql/

或者

sudo chmod -R 755 /var/run/mysql/

然后重啟服務

sudo services mysql start

或者

sudo /etc/init.d/mysql start

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM