Rumah >pangkalan data >tutorial mysql >Mengapa MySQL Melayan `localhost` Berbeza Daripada `127.0.0.1`?
MySQL localhost != 127.0.0.1?
Percanggahan ini timbul disebabkan oleh penggunaan soket MySQL apabila dipanggil tanpa nama hos atau dengan 'localhost ' nama hos. Seperti yang ditunjukkan di bawah, menggunakan MySQL dengan nama hos '127.0.0.1' menyambung melalui soket TCP/IP:
$ mysql -u root -h 127.0.0.1 -e 'show tables' created_from_host; +-----------------------------+ | Tables_in_created_from_host | +-----------------------------+ | test | +-----------------------------+
Walau bagaimanapun, menggunakan 'localhost' menyambung melalui soket UNIX, mengakibatkan ralat berikut:
$ mysql -u root -h localhost -e 'show tables' created_from_host; ERROR 1049 (42000): Unknown database 'created_from_host'
Bagaimana untuk memberikan SEMUA keistimewaan pada SEMUA pangkalan data daripada SEMUA hos untuk root?
Untuk memberikan keistimewaan tanpa had kepada pengguna 'root', laksanakan pernyataan SQL berikut:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Mengapa MySQL Melayan `localhost` Berbeza Daripada `127.0.0.1`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!