GNU/Linux >> Belajar Linux >  >> Linux

Apa lokasi file mysql.sock yang benar di linux

Deklarasi soket harus ditempatkan di bawah [mysqld] di my.cnf Anda . Jika sudah mendeklarasikannya di sana dan masih menunjuk ke tempat lain misalnya tmp , lalu my.cnf Anda file yang telah Anda edit tidak terbaca saat mysql dimulai atau ada my.cnf lainnya mengesampingkan yang telah Anda edit. Kasusnya mungkin juga ada Socket kedua deklarasi dalam my.cnf yang sama file yang menggantikan file yang Anda harapkan untuk dibaca di awal oleh mysql.

Anda dapat memeriksa jalur absolutnya dengan masuk ke mysql dan menjalankan:

mysql> show variables like 'socket';
+-----------------------------------------+-------------------------------+
| Variable_name                           | Value                         |
+-----------------------------------------+-------------------------------+
| socket                                  | /yourpath/mysql.sock          |
+-----------------------------------------+-------------------------------+
1 rows in set (0.00 sec)

Tidak ada tempat yang benar atau salah di linux untuk menyimpan soket, kecuali pada perangkat eksternal yang dilepas kapan saja atau folder yang dikosongkan dari waktu ke waktu. Anda perlu mengonfigurasi di mana Anda ingin meletakkannya.

Untuk klien konsol MySQL ada hal lain yang perlu dipertimbangkan:Klien tampaknya menggunakan nilai konfigurasi soket yang disediakan di [klien] alih-alih [mysqld]. Jika Anda memiliki beberapa pengaturan server MySQL seperti yang saya miliki (4.1, 5.5, 5.7), Anda mungkin ingin menggunakan opsi "--default-extra-file" dengan soket yang tertulis di bagian [client] untuk setiap server yang berbeda. Soket harus sama dengan yang ditentukan di bagian my.cnf [mysqld] yang digunakan di server. Berikut adalah contoh default-extra-file.cnf, ingatlah untuk mengubah pengguna, kata sandi, dan soket sesuai kebutuhan Anda - dan pertahankan hak akses 400 (ada kata sandi yang disimpan):

[client]
user = guardian
password = I-4m.Gr00t!
host = localhost
socket = /var/run/mysqld/mysqld-5.6.sock

Ini hanya berlaku jika Anda menggunakan "localhost" sebagai nilai untuk "host". Jika Anda memiliki beberapa alamat lokal (127.0.0.2, 127.0.0.3), Anda harus meninggalkan variabel konfigurasi untuk "host" di "localhost" untuk menggunakan soket yang telah dikonfigurasi. Jika tidak, klien akan terhubung ke server menggunakan TCP.

Ini telah diuji pada Server Debian 9.5 saya dengan MySQL 4.1.22, 5.5.49 dan 5.7.19 dan klien masing-masing.


Linux
  1. Linux – Apa Cara Berbeda Untuk Mengatur Izin File Dll Di Gnu/linux?

  2. Apa yang setara dengan perintah File Linux untuk windows?

  3. Hirarki file Linux - apa lokasi terbaik untuk menyimpan file kunci?

  1. Linux vs. Unix:Apa bedanya?

  2. Apa nomor inode di Linux?

  3. Apa lokasi yang benar untuk variabel PS1 Shell?

  1. Linux – Sistem File Apa di Linux yang Menyimpan Waktu Pembuatan?

  2. Cara mengetahui lokasi file konfigurasi MySQL yang sedang digunakan di linux

  3. Apa cara yang benar untuk menginstal jdk di linux