Jawaban dari @Karoly Nagy sepertinya yang paling tepat. Namun, untuk kasus pribadi saya, mereka tidak akan berfungsi, dan saya akan menjelaskan alasannya
Saya menggunakan Linux sebagai sistem dan MySQL di apache2 Xampp. Saya menggunakan pengaturan ini di dua proyek saya, menggunakan Django dan Node. js, masing-masing. Namun, di keduanya, koneksi dengan mysql tidak dimungkinkan tanpa menambahkan path ke my. cnf atau mysql. kaus kaki
Jadi, ternyata jalan menuju saya. cnf di tidak diketahui, atau salah, jadi saya. cnf tidak dapat ditemukan
Ketika saya memasukkan path ke my. cnf [dalam pengaturan koneksi database], semuanya berfungsi, karena di dalam my. cnf path ke mysql. kaus kaki ditulis dengan benar
Jadi, solusi saya dalam kedua kasus [koneksi mysql ke Django dan node. js] adalah sebagai berikut
- Django. sertakan dalam pengaturan. py mengajukan potongan kode berikut setelah konfigurasi basis data [menunjukkan jalur ke my. file .cnf]
'OPTIONS': {
'read_default_file': '/opt/lampp/etc/my.cnf',
},
- untuk Node. js menyertakan jalur ke mysql. berkas kaus kaki
const connection = mysql.createConnection[{
host: process.env.DB_HOST,
user: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
port: process.env.DB_PORT,
// THE PATH TO THE SOCKET FILE:
socketPath: process.env.DB_SOCKET_PATH
}];
_==================================================
Selain itu, saya punya pertanyaan, terkait dengan masalah ini
Mengapa pertama-tama ini tidak berhasil, dan bagaimana membuat jalur ke my. cnf diketahui? . file cnf tidak dapat ditemukan?
Saya telah membuka topik serupa di Stackoverflow [Dan saya tidak ingin menduplikasi topik tersebut]. https. //stackoverflow. com/questions/73426350/trying-to-connect-Django-to-mysql-connection-error-when-migrating-xampp-linux untuk menjelaskan masalah pertama dengan django dan yang kedua dengan node. js datang setelah itu, sehingga tampaknya ini terkait dengan konfigurasi sistem. Hanya untuk mengatakan bahwa file my. cnf OK [itu menunjukkan path ke mysql. sock, tetapi komputer tampaknya tidak tahu di mana saya. cnf ada di tempat pertama. ]. Jadi, jalan menuju saya. cnf harus disertakan dalam pengaturan untuk koneksi database mysql
Jadi, jawaban ke-2 @Karoly Nagy cukup benar, tetapi dalam kasus saya ini tidak akan berhasil, karena Anda tidak menjelaskan jalur ke. file cnf. Di sisi lain, saya tidak tahu persis apa yang terjadi pada jawaban pertamanya. Itu tidak berfungsi lagi di PC saya. Namun,
Driver Connector/J tidak mendukung koneksi ke Server MySQL dengan soket domain Unix. Untuk mengaktifkan koneksi soket, Anda perlu mengunduh pustaka pihak ketiga. Untuk informasi selengkapnya tentang batasan ini, lihat Menghubungkan Menggunakan Soket Domain Unix di dev. mysql. com
Unduh rilis terbaru dari repositori junixsocket di github. com [misalnya, junixsocket-dist-2. 3. 2-bin. ter. gz ].
Ekstrak arsip yang diunduh. Anda perlu menambahkan file-file berikut dari direktori lib ke driver MySQL di DataGrip.
junixsocket-mysql-2. 3. 2. stoples
junixsocket-native-common-2. 3. 2. jar , jika Anda memiliki arsitektur khusus, coba junixsocket-native-custom-2. 3. 2. toples
junixsocket-core-2. 3. 2. stoples
junixsocket-common-2. 3. 2. stoples
Langkah 4. Konfigurasi driver MySQL di DataGrip
Buka properti sumber data. Anda dapat membuka properti sumber data menggunakan salah satu opsi berikut
Arahkan ke File. Sumber Data .
Tekan Ctrl+Alt+Shift+S
Dalam Penjelajah Database [ Lihat. Jendela Alat. Penjelajah Database ], klik ikon Properti Sumber Data .
Di bagian Drivers , klik driver MySQL . Atau, tekan Ctrl+D. Duplicate button . Alternatively, press Ctrl+D.
Ubah nama driver duplikat [misalnya, soket MySQL ].
Pada tab Umum , klik tombol Tambahkan . ] and select Custom JARs.
Di browser file, navigasikan ke folder dengan perpustakaan pihak ketiga [lihat ]. Sambil menekan Ctrl, pilih file berikut
junixsocket-mysql-2. 3. 2. stoples
junixsocket-native-common-2. 3. 2. jar , jika Anda memiliki arsitektur khusus, coba junixsocket-native-custom-2. 3. 2. toples
junixsocket-core-2. 3. 2. stoples
junixsocket-common-2. 3. 2. stoples
Klik OK .
Pada tab Advanced , temukan properti socketFactory . Value cell, and change the value to
org.newsclub.net.mysql.AFUNIXDatabaseSocketFactory
.Gulir ke bawah hingga akhir daftar properti, klik dua kali sel dan ketik
junixsocket.file
. Klik dua kali sel Nilai dan ketik jalur ke file soket Anda [lihat ].Klik Terapkan .
Langkah 5. Buat koneksi ke server MySQL
Buka properti sumber data. Anda dapat membuka properti sumber data menggunakan salah satu opsi berikut
Arahkan ke File. Sumber Data .
Tekan Ctrl+Alt+Shift+S
Dalam Penjelajah Database [ Lihat. Jendela Alat. Penjelajah Database ], klik ikon Properti Sumber Data .
Dalam dialog Data Sources and Drivers , klik Add icon [] and select MySQL.
Di bagian bawah area pengaturan sumber data, klik tautan Unduh file driver yang hilang . Saat Anda mengklik tautan ini, DataGrip mengunduh driver yang diperlukan untuk berinteraksi dengan database. IDE tidak menyertakan driver yang dibundel untuk memiliki ukuran yang lebih kecil dari paket instalasi dan untuk menjaga agar versi driver tetap mutakhir untuk setiap versi IDE.
Anda dapat menentukan driver Anda untuk sumber data jika Anda tidak ingin mengunduh driver yang disediakan. Untuk informasi selengkapnya tentang membuat koneksi database dengan driver Anda, lihat
Bagaimana cara membuka kaus kaki di MySQL?
Di baris perintah, jalankan perintah berikut. mysql -u root -p -S /var/run/mysqld/mysql. kaus kaki . Ketik kata sandi untuk pengguna root Anda dan tekan Enter.Mengapa kaus kaki MySQL hilang?
mysqld. sock dibuat oleh daemon mysql saat start, dan dihapus [atau, menjadi tidak dapat dihubungkan] jika daemon ini berhenti. Pesan ini diberikan oleh beberapa proses klien, mencoba menghubungkan mysqld Anda di soket ini tanpa hasil. Alasan yang paling mungkin adalah mysqld tidak berjalan .Bagaimana cara memeriksa koneksi MySQL di Linux?
Untuk mengakses database MySQL Anda, harap ikuti langkah-langkah ini. .Masuk ke server web Linux Anda melalui Secure ShellBuka program klien MySQL di server di direktori /usr/binKetik sintaks berikut untuk mengakses database Anda. $ mysql -h {hostname} -u nama pengguna -p {databasename} Kata sandi. {kata sandi Anda}Apa itu file kaus kaki?
Berkas SOCK adalah berkas soket domain Unix . Ini digunakan untuk berkomunikasi dengan program, proses, atau server lain. Pengguna Unix biasanya membuat file SOCK menggunakan perintah socket. Soket adalah komponen perangkat lunak yang memungkinkan program untuk berkomunikasi satu sama lain dan server.