Pengantar
Salah satu hal pertama yang harus Anda pikirkan ketika bekerja dengan database MySQL adalah bagaimana menghubungkan dan berinteraksi dengan instance database. Ini memerlukan koordinasi antara klien database — komponen yang Anda gunakan untuk berinteraksi dengan database, dan server database — instance MySQL sebenarnya yang menyimpan, mengatur, dan menyediakan akses ke data Anda.
Karena itu, Anda perlu memahami cara terhubung sebagai klien dengan memberikan informasi yang diperlukan untuk mengautentikasi. Dalam panduan ini, kita akan membahas bagaimana menghubungkan ke database MySQL menggunakan mysql
asli klien baris perintah — salah satu cara paling umum dan berguna untuk berinteraksi dengan instans database.
Dalam panduan pendamping, Anda dapat mengetahui cara mengonfigurasi otentikasi MySQL untuk memenuhi kebutuhan proyek Anda. Pertimbangkan membaca kedua panduan untuk gambaran yang lebih lengkap tentang cara kerja otentikasi di MySQL.
Informasi dasar tentang mysql
klien
mysql
klien adalah klien baris perintah default dan shell SQL untuk MySQL. Anda dapat menggunakannya secara interaktif untuk menelurkan sesi shell dengan server Anda atau Anda dapat memberinya file SQL untuk dijalankan tanpa interaksi pengguna. Ini sangat berguna saat menerapkan opsi konfigurasi dan menyiapkan lingkungan Anda. Eksplorasi interaktif dan kueri ad-hoc juga sangat cocok saat mengembangkan pola akses yang akan digunakan program Anda.
Cara menghubungkan dan mengautentikasi dengan server MySQL bergantung pada konfigurasi server Anda. Di bagian berikut, kita akan membahas beberapa opsi koneksi dasar. Demi kejelasan, kami akan membedakan antara koneksi lokal dan jarak jauh:
- koneksi lokal :koneksi di mana klien dan instance MySQL berada di server yang sama
- koneksi jarak jauh :tempat klien terhubung ke instance MySQL yang dapat diakses jaringan yang berjalan di komputer lain
Mari kita mulai dengan menghubungkan ke database dari komputer yang sama.
Menghubungkan ke database lokal dengan mysql
Tanpa argumen apa pun, mysql
perintah mencoba untuk menyambung ke file soket Unix untuk mengakses database lokal. Biasanya, lokasi file soket default ditentukan oleh file konfigurasi atau oleh nilai default yang dikompilasi. Secara default, nama pengguna sistem operasi Anda digunakan untuk mencoba menyambung ke database.
Jadi jika pengguna Anda saat ini adalah pengguna MySQL yang valid di database lokal Anda, Anda dapat mencoba menghubungkan dengan mengetik:
mysql
Jika akun ada dan tidak memerlukan kata sandi atau jika otentikasi soket MySQL dikonfigurasi untuk akun tersebut, Anda akan masuk secara otomatis. Jika nama pengguna tidak ada di MySQL atau jika kata sandi atau otentikasi tambahan diperlukan, perintah akan gagal.
Untuk mengontrol cara mysql
mencoba masuk ke database, berikan informasi tambahan dengan perintah Anda menggunakan opsi baris perintah:
--user=<username>
atau-u <username>
:menentukan pengguna MySQL yang akan diautentikasi.--password
atau-p
:memberitahu MySQL untuk meminta kata sandi untuk pengguna MySQL.--host=127.0.0.1
atau-h 127.0.0.1
:memberitahumysql
untuk terhubung ke instance MySQL lokal menggunakan alamat loopback TCP lokal alih-alih soket Unix. Ini penting untuk digunakan jika server MySQL Anda tidak dikonfigurasi untuk menggunakan soket Unix.
Catatan: MySQL menginterpretasikan 127.0.0.1
berbeda dengan localhost
. Menentukan 127.0.0.1
menunjukkan bahwa Anda ingin menggunakan koneksi TCP, sedangkan localhost
akan menyebabkan MySQL mencoba menggunakan soket Unix untuk terhubung ke database lokal.
Jadi, jika Anda perlu masuk sebagai pengguna MySQL eva
dengan kata sandi, tetapi masih menggunakan soket Unix untuk terhubung, Anda dapat mengetik:
mysql --user=eva --password
mysql
klien akan meminta kata sandi untuk akun Anda.
Jika Anda ingin mencoba masuk dengan nama pengguna yang sama tetapi melalui koneksi TCP ke database lokal, ketikkan:
mysql --user=eva --password --host=127.0.0.1
Konfigurasi otentikasi default serta nama pengguna dan kata sandi administratif awal mungkin berbeda tergantung pada bagaimana MySQL diinstal. Namun, banyak metode menyiapkan MySQL untuk menggunakan soket Unix dan menyertakan root
default pengguna sebagai akun administratif.
Dalam kasus ini, Anda dapat masuk ke database sebagai root
pengguna dengan mengetik:
mysql --user=root --password
Anda akan dimintai kata sandi administratif yang dipilih atau dibuat selama instalasi untuk melanjutkan.
Semua metode ini memungkinkan Anda untuk terhubung ke database MySQL lokal.
Menghubungkan ke database jarak jauh
Jika Anda ingin terhubung ke database MySQL jarak jauh, Anda harus memberikan lokasi jaringan dari host jarak jauh dan berpotensi menambahkan beberapa informasi tambahan.
Metode autentikasi yang tersedia bervariasi berdasarkan konfigurasi instans MySQL. Namun, paling umum, Anda perlu memberikan parameter berikut untuk mengautentikasi:
Opsi | Deskripsi |
---|---|
--host= atau -h | Nama host jaringan atau alamat IP server MySQL. |
--port= atau -P | Port jaringan tempat server MySQL dijalankan. Jika server menggunakan port 3306, port default MySQL, parameter ini dapat dihilangkan. |
--user= atau -u | Nama pengguna basis data yang ingin Anda sambungkan. Jika tidak ditentukan, nama pengguna sistem operasi Anda akan digunakan. |
--password atau -p | Tunjukkan bahwa Anda ingin memberikan kata sandi untuk akun yang ditentukan. mysql klien akan meminta kata sandi setelah Anda menekan Enter . |
Database MySQL | Nama database MySQL yang ingin Anda akses. Jika tidak ditentukan, mysql akan terhubung ke server tanpa terhubung ke database tertentu. |
Format dasar untuk menghubungkan ke database jarak jauh biasanya terlihat seperti ini:
mysql --host=<hostname> --port=<port> --user=<user> --password <database>
Setelah menekan Enter , mysql
klien akan meminta kata sandi Anda. Jika Anda berhasil mengautentikasi, sesi MySQL interaktif baru akan dimulai.
Sebagai contoh, kita dapat membayangkan ingin terhubung ke database dengan persyaratan berikut:
- nama host:
myhost
- pelabuhan:1234
- basis data:
applicationdb
- nama pengguna:
myapplicationuser
- sandi:
mypass
Memanggil mysql
dengan opsi berikut akan memungkinkan Anda untuk mengautentikasi:
mysql --host=myhost --port=1234 --user=myapplicationuser --password applicationdb
Setelah menekan enter, Anda akan diminta kata sandi yang dapat Anda autentikasi dengan mypass
.
Menyesuaikan konfigurasi otentikasi server MySQL
Jika Anda ingin mengubah aturan yang menentukan bagaimana pengguna dapat mengautentikasi ke instance MySQL Anda, Anda dapat melakukannya dengan memodifikasi konfigurasi server Anda. Anda dapat mengetahui cara mengubah konfigurasi otentikasi MySQL di artikel ini.
Kesimpulan
Dalam panduan ini, kami membahas otentikasi MySQL dari sisi klien. Kami mendemonstrasikan cara menggunakan mysql
klien baris perintah untuk terhubung ke instance database lokal dan jarak jauh.
Mengetahui cara terhubung ke berbagai instance MySQL adalah salah satu langkah pertama yang perlu Anda pahami saat Anda mulai bekerja dengan sistem database. Anda dapat menjalankan instance MySQL lokal untuk pengembangan yang tidak memerlukan autentikasi khusus, tetapi database Anda dalam staging dan produksi hampir pasti memerlukan autentikasi. Mampu mengautentikasi dalam kedua kasus akan memungkinkan Anda bekerja dengan baik di lingkungan yang berbeda.