[英]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”。
我昨天也遇到了這個問題。 要解決此問題,請執行以下步驟:
sudo mysql -u root
SELECT User,Host FROM mysql.user;
DROP USER 'root'@'localhost';
CREATE USER 'root'@'%' IDENTIFIED BY ''
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
ALTER USER 'root'@'%' IDENTIFIED BY 'yourpassword';
就是這樣! 現在您應該能夠連接 MySQL。
我在工作台中使用 Ubuntu 18.04 和 mysql 5.7 版,但按照以下 10 個步驟解決了這個問題
sudo mysql -u root
SELECT User,Host FROM mysql.user;
DROP USER 'root'@'localhost';
SET GLOBAL validate_password_length = 5;
SET GLOBAL validate_password_number_count = 0;
SET GLOBAL validate_password_mixed_case_count = 0;
SET GLOBAL validate_password_special_char_count = 0;
SET GLOBAL validate_password_policy = LOW;
CREATE USER 'root'@'%' IDENTIFIED BY 'admin'
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.