phpmyadmin root olarak girilemiyor (MySQL 5.7)

39

Ubuntu masaüstü 16.04 kullanıyorum (15.10'dan yükseltilmiş).

phpmyadmin’i apt-get install phpmyadmin ’dan yükledim. % Co_de% adresine gidersem çalışır, ancak root olarak oturum açamıyorum.

Bunun için çok aradım. % Co_de% 'yi değiştirmeyi ve' root 've' '(şifre için boş) ile kullanıcı ve şifreyi değiştirmeyi önerdikleri birçok kaynak buldum. Ama localhost/phpmyadmin değerinden farklıdır. Örneğin, dosyamda, kullanıcı ve şifre için bir satır yoktur ve bu, /etc/phpmyadmin/config.inc.php olan başka bir dosyadan otomatik olarak görünüyor. Buna rağmen, bu dosyadaki kullanıcı ve şifreyi değiştirdim, ancak şimdi bu hatayı alıyorum:

#1698 - Access denied for user 'root'@'localhost'

Ne yapmalıyım?

Phpmyadmin Sürüm: 4.5.4.1deb2ubuntu1
mysql Ver 14.14 Dağıtımı 5.7.12, Linux için (x86_64) EditLine sarıcısını kullanarak

    
sordu Mostafa Ahangarha 26.04.2016 20:52

8 cevap

81

MySQL 5.7 güvenli modeli değiştirdi: şimdi MySQL root giriş sudo gerektirir.

I.e, phpMyAdmin, root kimlik bilgisini kullanabilecek değil olacak.

En basit (ve en güvenli) çözüm yeni bir kullanıcı oluşturacak ve gerekli ayrıcalıkları sağlayacaktır.

1. Mysql'ye bağlan

sudo mysql --user=root mysql

2. PhpMyAdmin için bir kullanıcı oluşturun

Aşağıdaki komutları çalıştırın ( some_pass 'yi istenen şifre ile değiştirin):

CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

phpMyAdmin'iniz localhost'a bağlanıyorsa, bu yeterli olmalıdır.

3. İsteğe bağlı: uzak bağlantılara izin ver

Hatırlama : Uzak bir kullanıcının tüm ayrıcalıklara sahip olmasını sağlamak bir güvenlik sorunudur.

Bununla birlikte, bu kullanıcının uzak bağlantılar sırasında aynı ayrıcalıklara sahip olmasını istiyorsanız, ek olarak çalıştırın (2. adımda kullanılan parola ile some_pass 'nin değiştirilmesi):

CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

4. PhpMyAdmin'i güncelle

sudo değerini kullanarak, aşağıdaki bölümlerde kullanıcı / parola değerlerini güncelleme /etc/dbconfig-common/phpmyadmin.conf dosyasını düzenleyin (Adım # 2'de kullanılan parola ile some_pass değerinin değiştirilmesi):

# dbc_dbuser: database user
#       the name of the user who we will use to connect to the database.
dbc_dbuser='phpmyadmin'

# dbc_dbpass: database user password
#       the password to use with the above username when connecting
#       to a database, if one is required
dbc_dbpass='some_pass'
    
verilen cevap Rael Gugelmin Cunha 26.04.2016 21:35
7

mariaDB'yi phpmyadmin (Ubuntu 16.04LTS) ile kullanırken aynı sorunla karşılaşıyordum.

Ön Koşullar:

1) MariaDB'yi yükleyin

sudo apt-get -y install mariadb-server mariadb-client
sudo mysql_secure_installation (answer to some interactive questions):
    Enter current password for root (enter for none): <enter>
    Set root password: n
    Remove anonymous users: n
    Disallow root login remotely: n
    Remove test database and access to it: n
    Reload privilege tables now: Y

mariaDB 'yı kaldırmak istiyorsanız:

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.5 mysql-client-core-5.5
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean

2) phpmyadmin yükleyin

sudo apt-get -y install phpmyadmin (and answer some interactive questions)
    Configuring phpmyadmin:
        Web server to reconfigure automatically: apache2
        Configure database for phpmyadmin with dbconfig-common: Yes
        MySQL application password for phpmyadmin: <blank>

3) apache2’de phpmyadmin’e sembolik bir bağlantı oluşturun

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo service apache2 restart

Tamam, şimdi, eğer Rael'in talimatlarını takip ederseniz, phpmyadmin girişine girebileceksiniz, ama en azından benim için, yeni bir veri tabanı oluşturamadım, çünkü kırmızı bir mesaj çıktı:% % co_de (veya bazı benzer mesajlar)

Düzeltme phpmyadmin'i yeniden yapılandırmak ve bazı etkileşimli soruları yanıtlamaktı.

sudo dpkg-reconfigure phpmyadmin
<Ok>
Reinstall database for phpmyadmin: <Yes>
Connection method for MySQL database server for phpmyadmin: TCP/IP
Host name of the MySQL database server for phpmyadmin: localhost
Port number for the MySQL service: 3306
MySQL database name for phpmyadmin: phpmyadmin
<Ok>
MySQL username for phpmyadmin: root
MySQL application password for phpmyadmin: pass  # OR ANY PASSWORD YOU WANT
Password confirmation: pass
Name of the database's administrative user: root
Web server to reconfigure automatically: apache2
An error occurred while installing the database: ignore

Şimdi phpmyadmin'e ( No privileges )

kullanarak bağlanmayı denerseniz
username: root
password: pass

Veritabanları oluşturabileceksiniz.

    
verilen cevap Dan Costinel 19.03.2017 19:36
2

Tamlığı sağlamak için, MariadB sürüm 10.1.23'ü kullanmamdaki sıkıntım için bir çözüm buldum. Yeni bir kullanıcı kurmak için kullanılacak sözdizimi, @Rael Gugelmin Cunha'nın yukarısındaki mesaja benzerdir. Burada, aynı sorunla karşılaşan diğerlerine atıfta bulunmam için çözümümüzü buraya koydum:

[email protected]:# sudo mysql --user=root mysql
use mysql;
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'some_password';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Selamlar

    
verilen cevap FIRE FOX 27.06.2018 14:02
2

Mysql 5.7 için Ubuntu 16.04'te aşağıdaki tablo bilgisini kontrol edin ve gerekli ayarları yapın:

mysql>  SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| User             | Host      | plugin                |
+------------------+-----------+-----------------------+
| root             | localhost | auth_socket           |
| mysql.session    | localhost | mysql_native_password |
| mysql.sys        | localhost | mysql_native_password |
| debian-sys-maint | localhost | mysql_native_password |
| phpmyadmin       | localhost | mysql_native_password |
| root             | %         | mysql_native_password |
+------------------+-----------+-----------------------+

Kökün auth_socket eklentisine sahip olup olmadığını kontrol edin ve aşağıdaki komutu çalıştırın:

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
    
verilen cevap Syed Abdul Qadeer 25.07.2018 11:44
1

Rael Cunha'ya başvurmak:

Evet, çözümü işe yarıyor ve başkalarını denedim. Ancak, /etc/dbconfig-common/phpmyadmin.conf gibi bir yapılandırma dosyasında açık şifre bulunan bir kullanıcıya atıfta bulunmak, sistem çapında bir eylem için bir güvenlik açığına benziyor.

Bu yüzden MariaDB 10.1.x 'in ne ile ilgili olduğunu önermek isterim (some_user ve some_pass size gelebilecek herhangi bir şey olabilir):

# mysql -u root
use mysql;
CREATE USER 'some_user'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON \*.\* TO 'some_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

ve phpadmin kurulumunu (4) olduğu gibi bırak.

phpmyadmin'e sonradan kendi kimlik bilgilerinizle giriş yapın

Kendi kurulumlarımda güvenlik amaçları için yukarıdaki '%' ile 'localhost' değiştiriyorum, ancak sunucunuzda 3306 numaralı bağlantı noktanız varsa, bu sizin için bir güvenlik riski sunmayacaktır.

    
verilen cevap Antonio J. de Oliveira 07.02.2018 14:28
1

phpymadmin bağlanamıyorsa, auth mekanizmasının auth_socket olarak ayarlanmış olmasından kaynaklanıyor olabilir. Bunu gibi normal bir şifre kullanmak için değiştirebilirsiniz:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'my_password";

Şimdi Ubuntu 18.04'ün temiz yüklemesinde bununla mücadele ediyordum ve bu da işe yaradı. Burada daha fazlasını açıklayan iyi bir makale var:

İşte

    
verilen cevap billynoah 29.04.2018 07:34
0

Aynı problemi yaşadım, tavsiyenin çoğunu takip ettim ve hiçbiri benim için işe yaramadı! Tarayıcımda localhost / phpmyadmin'i açtığımda sorunum aynıydı.

Kök kullanıcı olarak ekliyordum. ve bildiğim şifre doğruydu. ve # 1698 alıyordum - Kullanıcı 'root' @ 'localhost' için erişim reddedildi

tüm kullanıcı phpmyadmin kullanıcısı root değil, bilinen şifre ve açılır.

Bunun herkese yardımcı olacağını umuyorum, ne kadar çok gözden kaçırmışımdır. ama bu hatayla çalışmam # 1698 - Kullanıcı 'root' @ 'localhost' için erişim reddedildi

    
verilen cevap plutesci 15.06.2018 23:02
-2

MySQL'i kurarsanız ayrı olarak aşağıdaki komutla durdurun     sudo / opt / lampp / lampp durağı     hizmet mysql dur     sudo / opt / lampp / lampp start

    
verilen cevap zouhair elhadraoui 16.03.2018 12:26

Etiketlerdeki diğer soruları oku