本文介紹了Ubuntu 20.04設(shè)置MySQL phpmyadmin超級(jí)用戶密碼的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我在Ubuntu 20.04上安裝了一盞燈。
(德語)
https://wiki.ubuntuusers.de/MySQL/Werkzeuge/
獲取超級(jí)用戶密碼以登錄到本地主機(jī)/phpmyadmin總是一個(gè)問題。在Ubuntu 18.04中有一個(gè)很好的教程(幾個(gè)):
SERVER BEENDEN:
sudo service mysql stop
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
PRüFEN MIT:
jobs
STARTEN von MYSQL:
mysql -u root
mysql> FLUSH PRIVILEGES;
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE user='root';
mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root';
mysql> quit
sudo pkill mysqld
sudo service mysql start
在實(shí)際的ubuntu版本中,密碼命令似乎是未知的。我收到以下錯(cuò)誤。
MySQL>UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';
錯(cuò)誤1064(42000):您的SQL語法中有一個(gè)錯(cuò)誤;請(qǐng)查看與您的MYSQL服務(wù)器版本對(duì)應(yīng)的手冊(cè),了解正確的語法使用NEAR‘(’YOURNEWPASSWORD‘)where USER=’ROOT‘’在第1行
我的MySQL版本:
MySQL 8.0.19-0ubuntu5 for Linux on x86_64((Ubuntu))
推薦答案
此謎題有幾個(gè)部分
更改密碼
從CLI以超級(jí)用戶身份登錄:
sudo mysql -u root -p
然后
ALTER USER 'root'@'localhost' IDENTIFIED BY '<New-Password-Here>';
要真正讓事情正常工作
From phpmyadmin.net
由于MySQL身份驗(yàn)證方法的更改,7.4之前的PHP版本無法向MySQL 8.0 blahblah blah進(jìn)行身份驗(yàn)證
https://bugs.php.net/bug.php?id=76243。有一個(gè)解決方法,即設(shè)置您的用戶帳戶使用當(dāng)前樣式的密碼散列方法MySQL_Native_Password。這種不幸的缺乏協(xié)調(diào)已導(dǎo)致不兼容影響所有PHP應(yīng)用程序,而不僅僅是phpMyAdmin。
所以
UPDATE user SET plugin="mysql_native_password" WHERE user='root';
要真正讓事情運(yùn)轉(zhuǎn)起來…真的
MySQL已更改其安全模式,超級(jí)用戶登錄現(xiàn)在需要sudo。這對(duì)于CLI是可以的,但這意味著PhpMyAdmin和所有其他客戶端將無法使用超級(jí)用戶憑據(jù)
最佳解決方案是為PhpMyAdmin創(chuàng)建新用戶(或使用現(xiàn)有用戶,如果該用戶是在安裝過程中創(chuàng)建的),并授予其所需的權(quán)限。
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY '<New-Password-Here>';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
在您希望“超級(jí)用戶”訪問的任何位置使用此用戶。
還要確保您使用的是最新版本的PHP。以下是我的完整安裝腳本
PHP
sudo apt install -y php7.4
sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml
阿帕奇
sudo apt install apache2 libapache2-mod-php7.4
MySQL
sudo apt install mysql-server php7.4-mysql
sudo mysql_secure_installation
PHPMYADMIN
sudo apt install phpmyadmin
這篇關(guān)于Ubuntu 20.04設(shè)置MySQL phpmyadmin超級(jí)用戶密碼的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,