Mysql localhost != 127.0.0.1
Soalan ini meneroka perbezaan antara menggunakan nama hos "localhost" dan alamat IP "127.0 .0.1" apabila menyambung ke MySQL pangkalan data.
Penjelasan
Dalam MySQL, nama hos "localhost" memetakan ke soket, manakala alamat IP "127.0.0.1" merujuk kepada antara muka rangkaian tertentu. Perbezaan ini menjadi ketara apabila memberikan kebenaran.
Sebagai contoh, pemberian keistimewaan menggunakan "localhost" akan memberikan kebenaran untuk sambungan yang dibuat melalui soket, tetapi bukan melalui antara muka rangkaian. Sebaliknya, pemberian keistimewaan menggunakan "127.0.0.1" akan memberikan kebenaran untuk sambungan yang dibuat melalui antara muka rangkaian, tetapi tidak melalui soket.
Memberi SEMUA Keistimewaan pada Semua Pangkalan Data daripada Semua Hos
Untuk memberikan pengguna root semua keistimewaan pada semua pangkalan data daripada semua hos, gunakan yang berikut arahan:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Ini akan memberikan akses pengguna root kepada semua pangkalan data daripada mana-mana hos.
Menyelesaikan masalah
Jika anda menghadapi ralat "Tidak diketahui pangkalan data 'created_from_host'" apabila cuba menyambung ke pangkalan data menggunakan "localhost," pastikan tetapan berikut betul:
Atas ialah kandungan terperinci MySQL localhost lwn. 127.0.0.1: Apakah Perbezaan dalam Sambungan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!