Jika Anda mendapatkan kesalahan "Koneksi MySQL Gagal Tidak dapat terhubung ke server MySQL lokal melalui soket '/tmp/mysql. sock'” maka itu berarti MySql. sock file hilang dari file Anda. Terkadang MySql. file sock dihapus oleh pengguna tetapi setelah itu kami tidak dapat mengakses halaman php. MySql. file sock sebagian besar tersedia di folder “/mysql/tmp/”. Jika Anda salah menghapus MySql. file sock maka tutorial ini sangat membantu anda
1. Sebelum melakukan perubahan apa pun terlebih dahulu Anda harus mengambil cadangan direktori /var/lib/mysql dengan perintah ini
Kode
# cp -fr /var/lib/mysql /var/lib/mysql.old
2. Sekarang Anda harus memeriksa MySql. file kaus kaki di kedua tempatKode
/var/lib/mysql and /tmp_
3. Jika Anda menemukan file di folder ini maka Anda harus membuat ulang tautan simbolik dengan perintah iniKode
# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
4. Sekarang saatnya untuk memeriksa izin file, MySql. izin file kaus kaki harus 0755 dan mysql. akar. Jika izin salah maka masukkan perintah berikut untuk menetapkan izin dan penggunaKode
# chmod 0755 /var/lib/mysql # chown mysql:root /var/lib/mysql
5. Untuk memeriksa pengguna MySql Anda n=harus memasukkan iniKode
cat /etc/passwd_
6. Sekarang periksa "host. MYI” di path host. MYI dan jika file tidak tersedia maka masukkan perintah berikutKode
# chmod -R 0660 /var/lib/mysql/mysql # chown -R mysql:mysql /var/lib/mysql/mysql # /usr/bin/mysql_install_db
7. Sekarang untuk server Linux Anda harus menjalankan perintah ini untuk pembaruan paksaKode
# /scripts/mysqlup –force_
8. Setelah update kembali cek direktori mysql yang sudah kita backupKode
# rm -fr /var/lib/mysql # rm -f /usr/sbin/mysqld
9. Kemudian jalankan kembali perintah paksa untuk memperbaruiKode
# /scripts/mysqlup –force_
Semua langkah ini pasti akan membantu Anda mengatasi masalah iniMySQL menggunakan jenis file khusus yang memfasilitasi komunikasi antar proses, yang disebut file soket. Dengan file ini, MySQL dapat mengatur koneksi ke database server. File soket MySQL disebut mysql.sock dan terletak di direktori /var/run/mysqld/ Ubuntu. File soket secara otomatis dibuat oleh layanan MySQL
Terkadang, perubahan dan modifikasi pada sistem Anda dapat membuat MySQL tidak dapat membaca file socket, yang dapat mengganggu akses Anda ke database Anda. Sebagai contoh, kesalahan soket terbaru adalah seperti ini
output
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
_Ada beberapa alasan terjadinya kesalahan ini, dan beberapa cara berbeda untuk mengatasinya. Penyebab umum kesalahan ini adalah bahwa layanan basis data dihentikan atau tidak dimulai, yang berarti tidak dapat membuat file soket. Untuk mengetahui apakah ini alasan mengapa Anda melihat kesalahan ini, coba mulai layanan dengan
$
sudo systemctl start mysql
0$
sudo systemctl start mysql
Setelah itu, coba akses prompt MySQL lagi. Jika Anda masih mendapatkan kesalahan soket, periksa kembali lokasi di mana instalasi MySQL Anda mencarinya. Ini dapat ditemukan di file
$
sudo systemctl start mysql
1$
sudo nano /etc/mysql/mysql.conf.d/mysql.cnf
Cari parameter
$
sudo systemctl start mysql
_2 di bagian$
sudo systemctl start mysql
3 dari file ini. Ini menjadi sesuatu seperti ini/etc/mysql/mysql. conf. d/mysqld. cnf
. . [mysqld] pengguna = mysql pid-file = /var/run/mysqld/mysqld. soket pid = /var/run/mysqld/mysqld. port kaus kaki = 3306. .
Tutup file, dan pastikan bahwa file
$
sudo systemctl start mysql
_4 ada di sana dengan menulis perintah$
sudo systemctl start mysql
5 pada direktori tempat database mengharapkan$
ls -a /var/run/mysqld/
Jika file soket ada di sana, Anda akan melihatnya di output perintah ini
output
. . mysqld.pid mysqld.sock mysqld.sock.lock
Jika file tidak ada, kemungkinan besar MySQL mencoba membuatnya, tetapi tidak memiliki izin untuk membuatnya. Pastikan bahwa izin sudah ada dengan mengubah kepemilikan direktori ke pengguna dan grup mysql
$
sudo chown mysql:mysql /var/run/mysqld/
Setelah itu, pastikan bahwa pengguna database memiliki izin yang tepat atas direktori tersebut. Mengatur ini ke
$
sudo systemctl start mysql
_6 tidak akan menjadi solusi dalam banyak kasus$
sudo chmod -R 755 /var/run/mysqld/
Sekarang Anda harus me-restart layanan MySQL sehingga dapat mencoba membuat file soket
$
sudo systemctl restart mysql
Coba akses prompt MySQL lagi. Jika Anda masih menemukan kesalahan, mungkin ada jenis masalah lain dengan instans MySQL Anda, dalam hal ini Anda harus meninjau log kesalahan untuk melihat apakah Anda mendapatkan petunjuk