Tidak dapat terhubung ke server Database (meja kerja mysql)


89

Bisakah Anda membantu saya mengatasi masalah ini?

Ketika saya mencoba untuk mengklik "database kueri" di bawah menu database di meja kerja Mysql. itu memberi saya kesalahan:

Cannot Connect to Database Server

Your connection attempt failed for user 'root' from your host to server at 
127.0.0.1:3306:Can't connect to mysql server on '127.0.0.1'(10061)

Please:

 1. Check that mysql is running on server 127.0.0.1
 2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can 
    be changed)
 3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights 
    define what clients can connect to the server and from which machines) 
 4. Make sure you are both providing a password if needed and using the correct 
    password for 127.0.0.1 connecting from the host address you're connecting from


3
Jawaban ini berhasil untuk saya. stackoverflow.com/questions/16129399/…
mcaleaa

Dalam kasus saya, bantuan restart sederhana - tetapi saya pertama-tama memeriksa saran @sergio - stackoverflow.com/a/7875732/6705161 .
dannydedog

Jawaban:


105

Masalahnya kemungkinan karena otentikasi soket diaktifkan untuk pengguna root secara default ketika tidak ada kata sandi yang ditetapkan, selama peningkatan ke ubuntu 16.04.

Solusinya adalah kembali ke otentikasi kata sandi asli. Anda dapat melakukannya dengan masuk ke MySQL menggunakan otentikasi soket dengan melakukan:

sudo mysql -u root

Setelah masuk:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

yang akan mengembalikan ke otentikasi kata sandi asli (default lama).

Sekarang gunakan kata sandi sebagai kata sandi setiap kali diminta oleh MySQL.


3
Ini berhasil untuk saya, saya terkejut, saya sudah mengonfigurasi kata sandi ketat saat menginstal mysql dan kata sandi ketat yang sama yang digunakan dengan permintaan perubahan yang diberikan. Saya ingin tahu mengapa itu tidak berhasil dalam percobaan pertama itu sendiri
Vipul Patil

Terima kasih banyak! Apakah perilaku ini hanya dibuat untuk kepentingan pengguna root unix yang melakukan login ke mysql tanpa memasukkan kata sandi?
Igor de Lorenzi

1
Solusi bagus. Makasih bro!
Valney Faria

57

Coba buka services.mscdari kotak pencarian menu start dan coba secara manual memulai layanan MySQL atau langsung tulis services.msc di Runkotak


1
Tidak berhasil untuk saya. berjalan langsung dari baris perintah ´C: \ Program Files \ MySQL \ MySQL Server 5.6 \ bin \ mysqld.exe --console´ (perhatikan "d" antara "mysql" dan ".exe" berfungsi meskipun (saat membuka baris perintah "sebagai administrator"). Jadi saya kira menemukan cara untuk memulai layanan "sebagai administrator" akan menyelesaikan masalah ini.
Adrien Be

5
Di manakah kotak pencarian menu mulai?
Everyone_Else

Solusi saya dijalankan Mysql-Workbench dengan sudo: sudo mysql-workbench . Tidak tahu di mana menemukan layanan.msc
Luigi Lopez

33

Sepertinya ada banyak penyebab kesalahan ini.

Penyebab / Solusi Saya

Dalam kasus saya, penyebabnya adalah server saya dikonfigurasi untuk hanya menerima koneksi dari localhost. Saya memperbaikinya dengan mengikuti artikel ini: Bagaimana Cara Mengaktifkan Akses Jarak Jauh ke Server Database MySQL? . my.cnfFile saya tidak memiliki skip-networkingbaris, jadi saya hanya mengubah baris

bind-address = 127.0.0.1

untuk

bind-address = 0.0.0.0

Ini memungkinkan koneksi dari IP apa pun, tidak hanya 127.0.0.1.

Kemudian, saya membuat pengguna MySql yang dapat terhubung dari mesin klien saya dengan menjalankan perintah terminal berikut:

# mysql -u root -p
mysql> CREATE USER 'username'@'1.2.3.4' IDENTIFIED BY 'password';
    -> GRANT ALL PRIVILEGES ON *.* TO 'username'@'1.2.3.4' WITH GRANT OPTION;
    -> \q

dari mana 1.2.3.4IP klien yang Anda coba sambungkan. Jika Anda benar-benar mengalami masalah, Anda dapat menggunakan '%'alih-alih '1.2.3.4'mengizinkan pengguna untuk terhubung dari IP mana pun.

Penyebab Lain

Untuk daftar yang cukup luas, lihat Penyebab Kesalahan Akses Ditolak .


AFAIK, pembuatan pengguna diperlukan karena root pengguna hanya boleh digunakan untuk pekerjaan admin dan sebaiknya dibatasi pada localhost. pengguna apa yang Anda buat di luar itu terserah Anda!
pengguna3791372

Tautan ke Penyebab Kesalahan Akses Ditolak sekarang rusak.
Matt Coubrough

21

Apakah Anda mencoba menentukan apakah ini masalah dengan Meja Kerja atau masalah koneksi umum? Coba ini:

  1. Buka terminal
  2. Tipe mysql -u root -p -h 127.0.0.1 -P 3306
  3. Jika Anda berhasil tersambung, Anda akan melihat prompt mysql setelah Anda mengetikkan kata sandi (ketik quitdan Enter di sana untuk keluar).

Laporkan kembali bagaimana ini bekerja.


Hai, Dikatakan "mysql tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dioperasikan atau file batch." Terima kasih banyak.
pengguna948950

1
Anda mungkin ingin menambahkan direktori mysql bin ( bindirektori di dalam direktori utama MySQL) ke jalur sistem . Kemudian program klien mysql akan tersedia dari mana saja. Atau Anda bisa menjalankan perintah itu setelah melakukan cd ke direktori bin MySQL. Keduanya harus bekerja.
Sergio

2
Ketika saya terhubung ke mysql dengan perintah ini $> mysql -u root -p -h 127.0.0.1 -P 3306 Masukkan kata sandi: ERROR 1045 (28000): Akses ditolak untuk pengguna 'root' @ 'localhost' (menggunakan kata sandi: TIDAK) [root @ localhost ~] # mysql -u root -p -h 127.0.0.1 -P 3306 Masukkan kata sandi: ERROR 1045 (28000): Akses ditolak untuk 'root' @ 'localhost' pengguna (menggunakan kata sandi: YA) [root @ localhost ~] # mysql -u admin -p -h 127.0.0.1 -P 3306 Masukkan kata sandi: ERROR 1045 (28000): Akses ditolak untuk pengguna 'admin' @ 'localhost' (menggunakan kata sandi: YES) [root @ localhost ~] #
Sumit Munot

Bekerja untuk saya !! Terima kasih banyak!
igor

15

Saya memiliki masalah serupa di Mac OS dan saya dapat memperbaikinya dengan cara ini:

Dari terminal, jalankan:

mysql -u root -p -h 127.0.0.1 -P 3306

Lalu, saya diminta memasukkan kata sandi. Saya baru saja menekan enter karena tidak ada kata sandi yang disiapkan.

Saya mendapat pesan sebagai berikut:

Selamat datang di monitor MySQL. Perintah diakhiri dengan; atau \ g. ID koneksi MySQL Anda adalah 181. Versi server: 8.0.11 Homebrew.

Jika Anda berhasil login ke mysql>, jalankan perintah berikut:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Anda harus mendapatkan pesan seperti ini:

Kueri OK, 0 baris terpengaruh (0,19 dtk)

Sekarang, kata sandi Anda adalah " kata sandi " dan nama pengguna Anda adalah " root ".

Selamat coding :)


Ini mungkin tidak akan berfungsi lagi dengan penginstalan yang lebih baru karena log in anonim dinonaktifkan.
en_lorithai


7

Saya harus memulai Workbench sebagai Administrator. Rupanya itu tidak memiliki izin yang diperlukan untuk terhubung ke proses server database localhost saya.

Klik kanan pintasan Meja Kerja dan pilih Run as Administrator. Di jendela Properties pintasan, Anda dapat mengklik "Advanced" dan mencentang kotak di samping "Run as Administrator" untuk selalu menjalankan Workbench dengan hak istimewa Admin.


5

Kesalahan terjadi karena server mysql tidak dimulai di komputer Anda. Anda harus memulainya secara manual. Lakukan langkah-langkah berikut:

  1. Unduh dan instal server wamp sesuai dengan versi bit Anda (32bit atau 64bit) di komputer Anda ( http://wampserver-64bit.en.softonic.com/ ) tautan ini memungkinkan Anda mengunduh server wamp untuk 64bit.

  2. Segera setelah Anda menginstalnya, Anda dapat mengklik dua kali dan menjalankannya .. (Anda dapat melihat ikon di sebelah kanan taskbar. Mungkin tersembunyi. Sehingga Anda dapat mengklik panah yang menunjukkan aplikasi sembunyikan yang sedang berjalan). klik ikon tersebut dan pergi ke Mysql

  3. Lalu pergi ke Layanan dan di sana Anda dapat menemukan Mulai / Lanjutkan Layanan klik di atasnya ..

  4. Dan sekarang sudah selesai. Buka meja kerja mysql dan lihat. Ini akan berhasil ..


4

Saya berjuang dengan masalah ini untuk sementara dan melakukan beberapa penginstalan ulang MySQL sebelum menemukan ini.

Saya tahu bahwa server MySQL berjalan dengan baik karena saya dapat mengakses semua DB saya menggunakan baris perintah.

Semoga ini berhasil untuk Anda.

Di Meja Kerja MySQL (5.2.47 CE)

klik Mange Server Instances (pojok kanan bawah)

klik Sambungan

di kotak Connection pilih:

Instance Lokal ($ ServerName) - root@127.0.0.1: 3306 '<' Standard (TCP / IP)>

klik Edit yang Dipilih ...

Di bawah Parameter, Hostname mengubah localhost atau 127.0.0.1 menjadi nama NetBIOS Anda

klik Test Connection

Jika ini berhasil untuk Anda, bagus. Jika tidak, ubah nama host kembali seperti semula.


2
INI berhasil untuk saya. Nama NetBIOS adalah nama komputer, Anda dapat membacanya dari properti sistem, tab 'Nama komputer', 'nama komputer lengkap'.
NeonMan

3

Bagi mereka yang mengabaikan bahwa pesan kesalahan awal yang ditampilkan adalah sebagai berikut:

Nama org.freedesktop.secrets tidak disediakan oleh file .service mana pun

Pastikan untuk menginstal gnome-keyring menggunakan yang berikut ini

sudo apt install gnome-keyring

2

Untuk alasan saya adalah karena saya mencoba menggunakan MySQL Workbench 8.x terbaru untuk terhubung ke MySQL Server 5.1 (keduanya berjalan di Windows Server 2012).

Ketika saya menghapus MySQL Workbench 8.x dan menginstal MySQL Workbench 6.3.10, ia berhasil terhubung ke localhostdatabase


1

Agar selalu terbarui untuk versi atas dan pengunjung selanjutnya:

Saat ini saya sedang mengerjakan win7 64bit memiliki alat yang berbeda di dalamnya termasuk python 2.7.4 sebagai prasyarat untuk google android ...

Ketika saya memutakhirkan dari WB 6.0.8-win32 ke versi yang lebih tinggi untuk memiliki kinerja 64bit, saya mengalami beberapa masalah misalnya pada 6.3.5-winx64 saya memiliki bug dalam tampilan detail tabel (tampilan tidak teratur) menyebabkan saya menurunkan versi ke 6.2. 5-winx64.

Sebagai pengguna GUI, teknik maju / mundur yang mudah dan item relatif server db bekerja dengan baik tetapi ketika kami mencoba, Database>Connect to Databasekami akan memiliki Not connecteddan akan mengalami kesalahan python jika kami mencoba mengeksekusi kueri namun layanan server DB benar-benar berjalan dan berfungsi dengan baik dan masalah ini bukan dari server dan dari meja kerja. Untuk mengatasinya kita harus menggunakan Query>Reconnect to Serveruntuk memilih koneksi DB secara eksplisit dan kemudian hampir semuanya terlihat bagus (ini mungkin karena beberapa koneksi db saya dan saya tidak dapat menemukan solusi untuk menentukan koneksi db default di meja kerja).

Sebagai catatan: karena saya menggunakan versi Xampp terbaru (bahkan di linux secara adiktif :)), baru-baru ini Xampp menggunakan mariadb 10 dan bukan mysql 5.x menyebabkan versi file mysql menjadi 10 dapat menyebabkan beberapa masalah seperti rekayasa prosedur ke depan yang dapat diselesaikan melalui mysql_upgrade.exetetapi masih ketika kami mencoba untuk memeriksa koneksi db, wb akan menginformasikan tentang versi yang salah namun tidak kritis dan berfungsi dengan baik.

Kesimpulan: Jadi terkadang masalah koneksi db di meja kerja mungkin disebabkan oleh dirinya sendiri dan bukan server (jika Anda tidak memiliki masalah koneksi db yang relatif).


1

Dalam kasus saya, saya baru saja menginstal MySQL Workbench tetapi setelah menghapus instalan MySQL Workbench dan menginstal penginstal MySQL dan sama untuk 32 dan 64 bit kemudian setelah itu berfungsi seperti pesona. Semoga bisa bermanfaat.


0

Saya juga bergumul dengan masalah ini cukup lama.

Saya menemukan utas menarik ini dari forum MySQL: http://forums.mysql.com/read.php?11,11388,11388#msg-11388

Saya juga menemukan (jelas) beberapa SO Q / A yang bagus.

Tampaknya pesan yang disebutkan dalam pertanyaan "user948950" dapat berasal dari berbagai alasan: file log terlalu besar, nilai file mysql.ini salah, spasi di jalur file, masalah keamanan / acl, entri lama di registri, dan sebagainya.

Jadi, setelah mencoba selama 3 jam untuk memperbaiki ini ... Saya meninggalkan dan memutuskan untuk melakukan instalasi ulang lama yang baik.

Di sinilah posting ini dari (lagi) utas MySQL ini berguna , saya kutip:

Gary Williams menulis: Hai Teman-teman,

Saya memiliki masalah yang persis sama dan begitulah cara saya membuatnya bekerja untuk saya, dimulai dengan instalasi yang tidak berfungsi.

  1. Hentikan layanan windows untuk instalasi mysql yang ada.

  2. Copot pemasangan Mysql.

Seperti kebanyakan uninstal, file lama tertinggal. Jika direktori Anda adalah C: \ mysql \ etc maka hapus file innob, dll, tetapi tinggalkan direktori itu sendiri serta database yang ada di 'data'. Jika direktori Anda adalah C: \ Program Files \ etc, hapus semua direktori mysql.

  1. Sekarang layak menjalankan regedit untuk memastikan entri registri lama juga terhapus oleh pencopotan pemasangan. Jika tidak, hapuslah.

  2. Tidak masalah untuk menggunakan penginstal .msi baru (hanya file penting), namun ....

  3. Jangan gunakan jalur pemasangan default mereka! Beberapa jenius menetapkan jalan dengan spasi di dalamnya! Pilih instal khusus dan pilih jalur yang masuk akal, yaitu, C: \ mysql (catatan dari Adrien: C: \ mysqldata untuk ... data)

  4. Jangan memilih untuk mengubah pengaturan keamanan. Hapus centang pada kotak yang relevan dan penginstalan akan selesai tanpa harus menyetel kata sandi root.

Saya pikir saya telah mengingat semuanya.

Semoga berhasil

Gary

Saya mendapat masalah ketika hanya menyalin / menempel database yang saya miliki di direktori "data" saya sebelumnya ke yang baru. Jadi pekerjaan yang saya temukan adalah mengekspor setiap database (saya tahu ... sangat menyenangkan) dan kemudian mengimpornya kembali satu per satu.

FYI: Saya menggunakan perintah berikut untuk mengimpor C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql", itu misalnyaC:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"


0

Saya berada dalam situasi serupa sebelumnya dan terakhir kali saya menemukan itu adalah beberapa masalah pembaruan Windows (tidak yakin). Kali ini, saya membuka meja kerja MySQL dan tidak menemukan koneksi ke database lokal saya. Saya tidak dapat melihat tabel saya, tetapi kemarin saya dapat terhubung ke database.

Saya menemukan bahwa penyebab saya adalah, setelah membiarkan komputer saya tidur untuk beberapa waktu dan membangunkannya lagi, layanan mysql tidak berjalan. Solusi saya: restart layanan bernama "mysql" dan jalankan kembali meja kerja. Perlu waktu beberapa saat untuk memulai ulang layanan, tetapi berhasil.


0

Masalah saya adalah server MySQL tidak benar-benar terpasang. Saya telah menjalankan Penginstal MySQL, tetapi tidak menginstal server MySQL.

Saya menjalankan kembali penginstal, klik "Tambah", lalu menambahkan server MySQL ke daftar. Sekarang berfungsi dengan baik.


0

Masalahnya adalah server MYSQL tidak diinstal. Anda bisa mendapatkan penginstal dari sini

Kemudian tonton tutorial instalasi 6 menit ini .

Jika kemudian membuat koneksi baru di MYSQL Workbench tidak berfungsi, pastikan Anda menjalankan koneksi itu sebagai root seperti yang ditunjukkan di bawah ini:

masukkan deskripsi gambar di sini

Jika Anda tidak menemukan file .ini Anda, periksa jawaban ini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.