Saya menggunakan desktop Ubuntu 16.04 (ditingkatkan dari 15.10).
Saya telah menginstal phpmyadmin dari oleh apt-get install phpmyadmin
. Ini berfungsi jika saya pergi localhost/phpmyadmin
tetapi saya tidak bisa login sebagai root.
Saya telah mencari banyak untuk itu. Saya telah menemukan banyak sumber di mana mereka menyarankan untuk mengubah /etc/phpmyadmin/config.inc.php
dan mengganti pengguna dan kata sandi dengan 'root' dan '' (kosong untuk kata sandi). Tapi saya config.inc.php
berbeda dengan mereka. Sebagai contoh di file saya, tidak ada baris untuk pengguna dan kata sandi dan sepertinya itu mendapatkannya secara otomatis dari file lain yang /etc/phpmyadmin/config-db.php
. Meskipun demikian, saya telah mengubah pengguna dan kata sandi dalam file itu, tetapi sekarang saya mendapatkan kesalahan ini:
#1698 - Access denied for user 'root'@'localhost'
Apa yang harus saya lakukan?
Versi Phpmyadmin: 4.5.4.1deb2ubuntu1
mysql Ver 14.14 Distrib 5.7.12, untuk Linux (x86_64) menggunakan EditLine wrapper
sumber
Jawaban:
MySQL 5.7 mengubah model aman: sekarang
root
login MySQL membutuhkan asudo
.Yaitu, phpMyAdmin tidak akan dapat menggunakan
root
kredensial.Solusi paling sederhana, paling aman dan permanen akan menciptakan pengguna baru dan memberikan hak istimewa yang diperlukan.
1. Hubungkan ke mysql
2. Buat kata sandi asli
Pada langkah-langkah di bawah ini saya akan gunakan
some_pass
sebagai sampel kata sandi. TOLONG, GANTI DENGAN PASSWORD ANDA! JANGAN GUNAKANSOME_PASS
SEBAGAI PASSWORD!3. Buat pengguna untuk phpMyAdmin
Jalankan perintah berikut (ganti
some_pass
dengan kata sandi yang diinginkan):Jika phpMyAdmin Anda terhubung ke localhost, ini sudah cukup.
4. Opsional dan tidak aman: memungkinkan koneksi jarak jauh
Ingat : mengizinkan pengguna jarak jauh untuk memiliki semua hak istimewa adalah masalah keamanan dan ini tidak diperlukan dalam sebagian besar kasus.
Dengan pemikiran ini, jika Anda ingin pengguna ini memiliki hak yang sama selama koneksi remote, juga dijalankan (menggantikan
some_pass
dengan sandi yang digunakan pada Langkah # 2):5. Perbarui phpMyAdmin
Menggunakan
sudo
, edit/etc/dbconfig-common/phpmyadmin.conf
file yang memperbarui nilai pengguna / kata sandi di bagian berikut (menggantikansome_pass
dengan kata sandi yang digunakan pada Langkah # 2):sumber
root
pengguna selalu memintasudo
penggunaan pada 5.7. Jadi, saya telah memperbarui jawaban untuk memandu membuat pengguna baru dengan semua hak istimewa.Saya menghadapi masalah yang sama ketika menggunakan mariaDB dengan phpmyadmin (Ubuntu 16.04LTS).
Prasyarat:
1) Instal MariaDB
Jika Anda ingin menghapus instalasi
mariaDB
:2) Instal phpmyadmin
3) Di apache2, buat tautan simbolis ke phpmyadmin
Oke, sekarang, jika Anda mengikuti instruksi Rael, Anda akan dapat masuk
phpmyadmin
, tetapi, setidaknya bagi saya, saya tidak dapat membuat database baru, ketika pesan merah muncul:No privileges
(atau pesan serupa)Cara mengatasinya adalah dengan mengkonfigurasi ulang phpmyadmin, dan dengan menjawab beberapa pertanyaan interaktif.
Sekarang jika Anda mencoba terhubung ke phpmyadmin (
localhost/phpmyadmin
) menggunakanAnda dapat membuat basis data.
sumber
sudo dpkg-reconfigure phpmyadmin
memiliki koneksi untuk menginstal mariadb dan unistalling mysql? Jika ya, maka informasi Anda mungkin berguna (mungkin karena Anda menyarankan penghapusan mysql yang merupakan DB yang saya gunakan dan saya akan gunakan). Jika tidak, maka tidak ada gunanya memberikannya sebagai konteks. Jika saya salah, buat saya benar.Di Ubuntu 16.04 untuk Mysql 5.7 periksa informasi tabel di bawah ini dan lakukan pengaturan yang diperlukan:
Periksa apakah root memiliki plugin auth_socket lalu jalankan perintah di bawah ini:
sumber
apt
pembaruan MySQL berikutnya . Yaitu, Anda harus menerapkan ini setelah setiap pembaruan MySQL di Ubuntu.Jika phpymadmin tidak dapat terhubung, itu mungkin karena mekanisme auth diatur ke
auth_socket
. Anda dapat mengubahnya untuk menggunakan kata sandi biasa seperti ini:Saya sedang berjuang dengan ini sekarang pada instalasi yang bersih dari Ubuntu 18.04 dan inilah yang membuatnya bekerja. Ada artikel yang layak di sini untuk menjelaskan lebih lanjut:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
sumber
Untuk kelengkapan, saya telah menemukan solusi untuk masalah saya dalam menggunakan MariadB versi 10.1.23. Sintaks yang digunakan untuk mengatur pengguna baru mirip dengan yang dilaporkan ke posting di atas dari @Rael Gugelmin Cunha, saya taruh di sini solusi saya untuk referensi kepada orang lain yang menghadapi masalah yang sama:
Salam
sumber
Saya memiliki masalah yang sama, saya telah mengikuti sebagian besar saran dan tidak ada yang berhasil untuk saya! Masalah saya adalah sama ketika saya membuka http: // localhost / phpmyadmin di browser saya meminta detail login.
Saya menggunakan root sebagai pengguna, dan kata sandi yang saya tahu benar. Dan saya mendapatkan
Yang diperlukan hanyalah menggunakan
phpmyadmin
sebagai pengguna, bukanroot
, dengan kata sandi yang dikenal dan membiarkan saya masuk.sumber
some_pass
dengan kata sandi asli!Mengacu pada Rael Cunha:
Ya solusinya bekerja, dan saya sudah mencoba yang lain. Namun, merujuk pada pengguna yang memiliki kata sandi terbuka pada file konfigurasi seperti
/etc/dbconfig-common/phpmyadmin.conf
tampak seperti cacat keamanan untuk tindakan di seluruh sistem.Jadi saya lebih suka menyarankan apa yang
MariaDB 10.1.x
menjadi perhatian (some_user dan some_pass akan menjadi apa pun yang mungkin Anda buat):dan membiarkan pengaturan phpadmin (4) apa adanya.
Masuk ke phpmyadmin dengan kredensial Anda sendiri setelahnya
Pada pengaturan saya sendiri, saya mengganti '%' di atas dengan 'localhost' untuk tujuan keamanan, tetapi jika Anda memiliki port 3306 ditutup pada server Anda yang tidak akan selalu menimbulkan risiko keamanan bagi Anda.
sumber
Hanya kode di bawah ini yang berfungsi untuk ubuntu 18.04, php 7 di atas dan mysql 5.7
Jangan ganti 'phpmyadmin'. Membuat pengguna lain tidak memiliki hak penuh seperti membuat pengguna baru, menetapkan hak istimewa basis data untuk pengguna seperti itu. Hanya pengguna phpmyadmin yang akan mendapatkan akses penuh.
sumber
jika Anda menginstal MySQL, hentikan secara terpisah dengan perintah ini di bawah ini sudo / opt / lampp / lampp stop service mysql stop sudo / opt / lampp / lampp start
sumber