Pada dasarnya, saya ingin bisa menggunakan bahasa pemrograman R untuk berinteraksi
dengan database MySQL yang tersedia melalui phpMyAdmin. Saat ini saya sedang mencoba
menentukan apakah kesalahan yang saya coba sambungkan ke database ini
karena saya menyampaikan argumen yang salah atau apakah hanya ada sesuatu
pada dasarnya salah dengan cara saya melakukan segala hal.
Saya diberi informasi berikut untuk dikerjakan:
Beberapa hal yang perlu diperhatikan:
Dengan kata lain, tampaknya tidak ada masalah dengan database jarak jauh
itu sendiri, pemasangan MariaDB saya,
atau dengan R dan paketnya. [Catatan: database yang saat ini saya akses
hanya mewakili sebagian kecil sampel dari database lengkap sehingga mengunduh semuanya
lokal bukanlah pilihan yang layak].
Sekarang saya mencoba untuk mencari tahu apakah variabel yang saya gunakan di R
fungsi untuk membuat koneksi salah (dan, jika ini masalahnya, apa
haruskah saya menggunakan sebagai gantinya) atau jika saya hanya melakukan semuanya dengan salah - mungkin
karena ada sesuatu yang secara fundamental berbeda tentang phpMyAdmin bahwa saya
hilang. Jika ini memang terjadi, saya ingin tahu apa yang akan saya butuhkan
untuk membuat koneksi (misalnya, apakah saya memerlukan alamat ip dari
Server MySQL itu sendiri untuk dapat terhubung dari jarak jauh?).
Untuk memberi Anda gambaran tentang nilai yang telah saya coba gunakan, berikut ini contoh dari
Kode R yang saya coba:
con <- dbConnect(RMariaDB::MariaDB(),
host = 'tempdb.companyname.com/phpMyAdmin',
dbname = 'companyname',
user = 'dbs_guest',
password = 'guestpassword')
temptable <- tbl(con, "temptable")
Secara khusus, saya tidak yakin apakah nilai " host " benar, khususnya
karena ketika login saya login di server diberikan sebagai "Server: Localhost melalui soket UNIX".
Juga, apakah " user " perlu terdaftar sebagai " dbs_guest @ localhost " (seperti saat ini
login ke phpMyAdmin) atau apakah itu tersirat oleh nilai "host". Akhirnya,
Saya juga bisa memberikan argumen " port " tetapi saya tidak tahu apa itu
bagaimanapun. Oh, dan saya tidak yakin apakah semua ini akan bergantung pada apakah saya saat ini atau tidak
masuk ke phpMyAdmin (katakanlah menggunakan Chrome) saat menjalankan perintah ini.
Untuk mengulangi, saya hanya mencoba mencari tahu apakah ada sesuatu tentang phpMyAdmin
yang membuat apa yang saya coba lakukan menjadi tidak mungkin (dan apa yang perlu saya lakukan sebagai gantinya)
atau jika saya baru saja mendapatkan nilai variabel yang salah.
Terima kasih atas kesabaran Anda.
Hormat kami,
Steve
@SplashDance Saya bingung, Anda tahu phpMyAdmin hanya antarmuka web dan bukan server database, bukan?
Saya tidak mengerti mengapa R ada hubungannya dengan phpMyAdmin?
cc @ibennetch
cc @maurici
Apakah saya salah memahami masalah Anda?
Baik. Saya mendapatkan phpMyAdmin itu sebuah antarmuka untuk berinteraksi dengan server database dan bukan server itu sendiri. Atau, setidaknya, saya memiliki pemahaman yang kabur bahwa untuk berinteraksi dengan server saya harus melalui phpMyAdmin.
Tetapi saat ini saya hanya memiliki alamat phpMyAdmin untuk digunakan dan saya berpikir (dan saya mengerti bahwa ini bisa menjadi jalan keluar) bahwa saya harus, pada dasarnya, terhubung ke database tersebut melalui phpMyAdmin entah bagaimana.
Saya harus melalui phpMyAdmin.
Saya kira tidak, dan dari apa yang saya tahu kami tidak menawarkan api atau cara untuk berinteraksi dengan database.
Satu-satunya cara adalah interaksi manusia dengan antarmuka
Apakah Anda mencoba menghubungkan dengan R ke mysql seperti yang disarankan oleh http://stla.github.io/stlapblog/posts/RMySQL.html ?
Tetapi saat ini saya hanya memiliki alamat phpMyAdmin untuk digunakan
Mungkin server database ada di mesin yang sama dengan database, ini sebabnya Anda hanya memiliki nama host dari "phpmyadmin" / database? server
Apakah itu menjawab pertanyaan Anda @SplashDance ?
Sebagian besar penginstalan MySQL mencegah koneksi jaringan masuk secara default. Untuk terhubung langsung dari alamat eksternal, seperti aplikasi yang berjalan di komputer lokal Anda, Anda harus mengekspos port MySQL ke internet. Itu umumnya praktik keamanan yang buruk. Sering kali, phpMyAdmin berjalan di server yang sama dengan instance MySQL, sehingga terhubung ke alamat localhost (127.0.0.1) atau melalui file soket UNIX (yang dilakukan phpMyAdmin Anda).
Dalam phpMyAdmin itu sendiri, kami sengaja tidak menyertakan metode apa pun untuk merefleksikan atau mengarahkan koneksi masuk langsung ke MySQL karena itu akan mengekspos MySQL sama seperti membuka port MySQL langsung ke internet, sekali lagi ide yang sangat buruk. Itulah mengapa menggunakan URL phpMyAdmin itu sendiri sebagai string koneksi Anda tidak berfungsi. Anda benar bahwa Anda memerlukan alamat IP server (atau nama host) di sini.
Secara umum, Anda memiliki tiga opsi untuk menghubungkan ke instance MySQL / MariaDB jarak jauh:
Sayangnya, phpMyAdmin tidak dapat membantu Anda dengan semua itu.
Pertama-tama, izinkan saya mengatakan bahwa saya sangat menghargai semua tanggapan Anda (terutama mengingat amatiran pertanyaan awal saya) dan saya terutama menghargai tanggapan Isaac - ini sangat bijaksana dan sangat membantu.
Jika ada, melegakan akhirnya mendapatkan jawaban yang pasti jadi saya tidak perlu membuang waktu lagi untuk mencoba kombinasi argumen fungsi yang berbeda, dll.
Sekali lagi, terima kasih atas waktu Anda.
Hormat kami,
Steve
Komentar yang paling membantu
Sebagian besar penginstalan MySQL mencegah koneksi jaringan masuk secara default. Untuk terhubung langsung dari alamat eksternal, seperti aplikasi yang berjalan di komputer lokal Anda, Anda harus mengekspos port MySQL ke internet. Itu umumnya praktik keamanan yang buruk. Sering kali, phpMyAdmin berjalan di server yang sama dengan instance MySQL, sehingga terhubung ke alamat localhost (127.0.0.1) atau melalui file soket UNIX (yang dilakukan phpMyAdmin Anda).
Dalam phpMyAdmin itu sendiri, kami sengaja tidak menyertakan metode apa pun untuk merefleksikan atau mengarahkan koneksi masuk langsung ke MySQL karena itu akan mengekspos MySQL sama seperti membuka port MySQL langsung ke internet, sekali lagi ide yang sangat buruk. Itulah mengapa menggunakan URL phpMyAdmin itu sendiri sebagai string koneksi Anda tidak berfungsi. Anda benar bahwa Anda memerlukan alamat IP server (atau nama host) di sini.
Secara umum, Anda memiliki tiga opsi untuk menghubungkan ke instance MySQL / MariaDB jarak jauh:
Sayangnya, phpMyAdmin tidak dapat membantu Anda dengan semua itu.