Jika Anda benar-benar baru dalam MariaDB dan database relasional, Anda mungkin ingin memulai dengan MariaDB Primer. Selain itu, pastikan Anda memahami parameter koneksi yang dibahas dalam artikel Menghubungkan ke MariaDB
Ada sejumlah masalah umum yang dapat terjadi saat menghubungkan ke MariaDB
Jika kesalahan yang Anda dapatkan adalah sesuatu seperti
mysql -uname -p ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")atau
mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") _server tidak berjalan, atau tidak berjalan pada port, soket, atau pipa yang ditentukan. Pastikan Anda menggunakan opsi , , , dan yang benar, atau sebagai alternatif, lihat Mendapatkan, Menginstal, dan Memutakhirkan MariaDB, Memulai dan Menghentikan MariaDB, atau Memecahkan Masalah Instalasi
File soket bisa berada di jalur non-standar. Dalam hal ini, opsi socket_ mungkin ditulis di my. file cnf. Periksa apakah nilainya identik di bagian [mysqld] dan [client];
Jika tidak yakin di mana file soket Unix berjalan, Anda dapat menemukannya, misalnya
netstat -ln | grep mysqld unix 2 [ ACC ] STREAM LISTENING 33209505 /var/run/mysqld/mysqld.sockBiasanya, server MariaDB tidak secara default menerima koneksi dari klien jarak jauh atau menghubungkan dengan tcp dan nama host dan harus dikonfigurasi untuk mengizinkan ini
(/my/maria-10.4) ./client/mysql --host=myhost --protocol=tcp --port=3306 test ERROR 2002 (HY000): Can't connect to MySQL server on 'myhost' (115) (/my/maria-10.4) telnet myhost 3306 Trying 192.168.0.11... telnet: connect to address 192.168.0.11: Connection refused (/my/maria-10.4) perror 115 OS error code 115: Operation now in progressUntuk mengatasinya, lihat Mengonfigurasi MariaDB untuk Akses Klien Jarak Jauh
Perhatikan bahwa dari MariaDB 10. 4. 3, plugin otentikasi unix_socket diaktifkan secara default pada sistem mirip Unix. Ini menggunakan kredensial sistem operasi saat menghubungkan ke MariaDB melalui file soket Unix lokal. Lihat plugin otentikasi unix_socket untuk instruksi menghubungkan dan beralih ke otentikasi berbasis kata sandi serta Otentikasi dari MariaDB 10. 4 untuk ikhtisar tentang MariaDB 10. 4 perubahan
Otentikasi diberikan ke kombinasi nama pengguna/host tertentu. mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") 0, misalnya, tidak sama dengan mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") 1. Lihat artikel GRANT untuk detail tentang pemberian izin
Kata sandi di-hash dengan fungsi PASSWORD. Jika Anda telah menyetel kata sandi dengan pernyataan SET PASSWORD, atau menggunakan INSERT atau UPDATE untuk memperbarui tabel izin secara langsung, fungsi PASSWORD harus digunakan secara bersamaan. Misalnya, mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") _2 bukan hanya mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") 3;
Jika tabel hibah telah diubah secara langsung, kata sandi baru atau data autentikasi tidak akan langsung aktif. Pernyataan FLUSH PRIVILEGES, atau opsi mysqladmin flush-privileges harus dijalankan agar perubahan diterapkan
Masalah Mengekspor Hasil Kueri
Jika Anda dapat menjalankan kueri biasa, tetapi mendapatkan kesalahan autentikasi saat menjalankan SELECT. KE OUTFILE, PILIH. INTO DUMPFILE atau LOAD DATA INFILE, Anda tidak memiliki izin untuk menulis file ke server. Ini membutuhkan hak istimewa FILE. Lihat artikel GRANT
Akses ke Server, tetapi tidak ke Database
Jika Anda dapat terhubung ke server, tetapi tidak ke database, misalnya
USE test; ERROR 1044 (42000): Access denied for user 'ian'@'localhost' to database 'test' _atau dapat terhubung ke database tertentu, tetapi bukan yang lain, misalnya mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") 4 berfungsi tetapi tidak mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") 5, Anda belum diberikan izin untuk database tertentu. Lihat artikel GRANT
File Opsi dan Variabel Lingkungan
Ada kemungkinan file opsi atau variabel lingkungan menyediakan parameter koneksi yang salah. Periksa nilai yang diberikan dalam file opsi apa pun yang dibaca oleh klien yang Anda gunakan (lihat File dan Grup Konfigurasi mysqld dan dokumentasi untuk klien tertentu yang Anda gunakan - lihat Klien dan Utilitas)
File opsi biasanya dapat ditekan dengan opsi mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") _6, misalnya
Tidak Dapat Menghubungkan ke Server yang Sedang Berjalan / Kehilangan Kata Sandi root
Jika Anda tidak dapat terhubung ke server, misalnya karena Anda kehilangan kata sandi root, Anda dapat memulai server tanpa menggunakan tabel hak istimewa dengan menjalankan opsi mysql -uname -p --port=3307 --protocol=tcp ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (111 "Connection refused") 7, yang memberi pengguna akses penuh ke semua tabel. Anda kemudian dapat menjalankan FLUSH PRIVILEGES untuk melanjutkan menggunakan tabel hibah, diikuti dengan SET PASSWORD untuk mengubah kata sandi akun
localhost dan %
Anda mungkin telah membuat pengguna dengan sesuatu seperti
CREATE USER melisa identified by 'password';Ini membuat pengguna dengan host wildcard '%'
select user,host from mysql.user where user='melisa'; +--------+------+ | user | host | +--------+------+ | melisa | % | +--------+------+Namun, Anda mungkin masih gagal masuk dari localhost. Beberapa penyiapan membuat pengguna anonim, termasuk localhost. Jadi catatan berikut ada di tabel pengguna
select user,host from mysql.user where user='melisa' or user=''; +--------+-----------+ | user | host | +--------+-----------+ | melisa | % | | | localhost | +--------+-----------+Karena Anda terhubung dari localhost, kredensial anonim, bukan untuk pengguna 'melisa', digunakan. Solusinya adalah menambahkan pengguna baru khusus ke localhost, atau menghapus pengguna localhost anonim