Izin MySQL didasarkan pada alamat yang mereka hubungkan serta pengguna. Jadi [email protected] dan [email protected] akan memiliki dua set izin yang terpisah. Mengubah localhost ke 127.0.0.1 seperti yang disebutkan num8er mungkin akan berhasil jika kode Anda dan database berada di server yang sama.
Jika Anda memiliki akses terminal ke kotak tempat php Anda berada, Anda dapat mencoba menghubungkan secara langsung dengan mengesampingkan apa pun yang berkaitan dengan php menggunakan ini:
mysql -h 10.4.1.163 -u root -p[pass] database -e "SHOW TABLES"
Perhatikan tidak ada spasi di antara -p
dan kata sandi. Jika berhasil, ini akan memberi Anda daftar tabel di database
.
Untuk memberikan akses ke pengguna lain atau untuk nama host/IP lain, Anda harus menjalankan sesuatu seperti ini:(walaupun Anda harus benar-benar membuat pengguna terpisah dengan izin yang lebih terbatas berdasarkan kebutuhan Anda).
GRANT ALL PRIVILEGES ON `database`.* TO 'root'@'10.4.1.163';
Periksa dokumen tentang GRANT MySQL di sini - http://dev.mysql .com/doc/refman/5.7/en/grant.html
Sebagai tambahan - tolong, tolong, tolong, jangan hanya memompa data lama ke dalam kueri tanpa setidaknya menggunakan mysql_real_escape_string
(http://php.net/manual/en/ function.mysql-real-escape-string.php
) sebelumnya. Anda juga dapat melihat ke PDO (http://php. net/manual/en/book.pdo.php
) yang umumnya lebih disukai daripada mysql_
. yang sekarang sudah tidak digunakan lagi fungsi