"Localhost" emas, balki IP yordamida MySQL ma'lumotlar bazasiga qanday ulanish kerak?

Menda Raspberry pi-da tugunli server mavjud bo'lsa. Va mening Laptopimda MySQL ma'lumotlar bazasi. Ham morfologik pi va mening tizza kompyuterim bir xil LANga ulangan.

Laptop IP: 192.168.1.2

Raspberry pi IP: 192.168.1.3

Part 1, How can I send data from the raspberry pi server to the MySQL database on my laptop?

Avvaliga men faqatgina "localhost" dan "192.168.1.2" ga mezbon maydonni o'zgartirishni o'ylashim kerak, deb o'ylardim, lekin bu ishlamayapti, chunki:

Men tizza kompyuterimda tugunli JS serverini yaratdim (hozirda menda morfinka pi yo'q) va ma'lumotni saqlash uchun ma'lumotlar bazasiga ulanishga harakat qildim, bu juda yaxshi ishladi. Ammo host kompyuterni "localhost" dan "192.168.1.2" ga almashtirmoqchi bo'lganimda, uni LANdagi noutbuk manzili bog'lashga urindi va xatoga yo'l qo'ydi:

ER_HOST_NOT_PRIVILEGED: Xost "Anwar-PC" ushbu MySQL-serverga ulanishga ruxsat berilmagan

Kod:

var connection = mysql.createConnection({
  host: 'localhost',
  user: 'user1',
  password: 'password1',
  database: 'database1'
});

Va men quyidagilarni amalga oshirib, foydalanuvchi yaratdim:

drop user [email protected];
flush privileges;
create user [email protected] identified by 'password1';
GRANT USAGE ON *.* to [email protected];
GRANT ALL ON database1.* TO [email protected];

Part 2, I would like to do the same scenario if both the raspberry pi and the database are connected to the Internet rather than LAN.

Umid qilamanki, men bu muammoni to'g'ri tushuntirdim. Oldindan rahmat.

1
Savolingizni yaxshiroq tushunadigan qilib yaxshilashingiz kerak. Agar noto'g'ri bo'lmasam, MySQL-server manzilingizni Node JS server sozlamalaridan qaerga o'zgartirishni bilishni xohlaysizmi? Bu MySQL Workbench bilan hech qanday aloqasi yo'q.
qo'shib qo'ydi muallif Mike Lischke, manba
Sizda aniq xato xabari nima? Ehtimol sizning IP manzilingizdan ulanishga ruxsat berilgan foydalanuvchi yo'q (localhost orqali ulanganda foydalanilmaydi). Shuningdek qarang: dev.mysql.com/doc/refman/5.7/ eng/yaratish-user.html
qo'shib qo'ydi muallif Mike Lischke, manba
Sizda aniq xato xabari nima? Ehtimol sizning IP manzilingizdan ulanishga ruxsat berilgan foydalanuvchi yo'q (localhost orqali ulanganda foydalanilmaydi). Shuningdek qarang: dev.mysql.com/doc/refman/5.7/ eng/yaratish-user.html
qo'shib qo'ydi muallif Mike Lischke, manba
Sizda aniq xato xabari nima? Ehtimol sizning IP manzilingizdan ulanishga ruxsat berilgan foydalanuvchi yo'q (localhost orqali ulanganda foydalanilmaydi). Shuningdek qarang: dev.mysql.com/doc/refman/5.7/ eng/yaratish-user.html
qo'shib qo'ydi muallif Mike Lischke, manba
Savolingizni yaxshiroq tushunadigan qilib yaxshilashingiz kerak. Agar noto'g'ri bo'lmasam, MySQL-server manzilingizni Node JS server sozlamalaridan qaerga o'zgartirishni bilishni xohlaysizmi? Bu MySQL Workbench bilan hech qanday aloqasi yo'q.
qo'shib qo'ydi muallif Mike Lischke, manba
@MikeLischke Men foydalanuvchi yaratganman va u bilan birga GRANT ALLni ishlatgansiz, yana bir xil xato: ER_HOST_NOT_PRIVILEGED: Xost 'Anwar-PC' bu MySQL-serverga ulanishga ruxsat berilmagan.
qo'shib qo'ydi muallif A.Kallas, manba
@MikeLischke Men foydalanuvchi yaratganman va u bilan birga GRANT ALLni ishlatgansiz, yana bir xil xato: ER_HOST_NOT_PRIVILEGED: Xost 'Anwar-PC' bu MySQL-serverga ulanishga ruxsat berilmagan.
qo'shib qo'ydi muallif A.Kallas, manba
@MikeLischke Men foydalanuvchi yaratganman va u bilan birga GRANT ALLni ishlatgansiz, yana bir xil xato: ER_HOST_NOT_PRIVILEGED: Xost 'Anwar-PC' bu MySQL-serverga ulanishga ruxsat berilmagan.
qo'shib qo'ydi muallif A.Kallas, manba
@MikeLischke Men savolni tahrir qildim, umid qilamanki, hozir yaxshi. rahmat
qo'shib qo'ydi muallif A.Kallas, manba
@MikeLischke Men savolni tahrir qildim, umid qilamanki, hozir yaxshi. rahmat
qo'shib qo'ydi muallif A.Kallas, manba
@MikeLischke Men savolni tahrir qildim, umid qilamanki, hozir yaxshi. rahmat
qo'shib qo'ydi muallif A.Kallas, manba

6 javoblar

Localhost o'rniga IPni berish foydalanib

shell> mysql --host=192.168.1.2 --user=myname --password=mypass mydb OR

shell> mysql -h 192.168.1.2 -u myname -pmypass mydb

bu yerda

1
qo'shib qo'ydi

Localhost o'rniga IPni berish foydalanib

shell> mysql --host=192.168.1.2 --user=myname --password=mypass mydb OR

shell> mysql -h 192.168.1.2 -u myname -pmypass mydb

bu yerda

1
qo'shib qo'ydi

Localhost o'rniga IPni berish foydalanib

shell> mysql --host=192.168.1.2 --user=myname --password=mypass mydb OR

shell> mysql -h 192.168.1.2 -u myname -pmypass mydb

bu yerda

1
qo'shib qo'ydi

1-qism: uchun Men quyidagi savolni tekshirdim va muammo hal qilindi

Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server.

Menimcha, u xuddi morfiyalik pi-dan foydalanishda ham ishlaydi.

0
qo'shib qo'ydi
Qo'lingizda yo'q, lekin sizning afzal qidiruvi quyidagicha bo'lishi kerak :-D
qo'shib qo'ydi muallif Mike Lischke, manba
2-qism sizning MySQL-ni internetga ochishingiz kerak bo'lganligi uchun biroz qiyinroq. Ulanishni ta'minlash uchun SSH tunelidan yaxshiroq foydalaning. Bundan tashqari siz LAN-da qilgan kabi ulanish imkoniyatiga ega bo'lishingiz kerak (agar SSH va MySQL-server ikkalasi ham bir xil qutidagi ishlayotgan bo'lsa, hatto localhost-dan foydalanishingiz mumkin).
qo'shib qo'ydi muallif Mike Lischke, manba
@MikeLischke Sizning yordamingiz uchun sizga tashakkur aytaman, Ssh tunelidan foydalanish haqida ma'lumot olish uchun biron-bir manbaani tavsiya qilsangiz yaxshi bo'lardi.
qo'shib qo'ydi muallif A.Kallas, manba

1-qism: uchun Men quyidagi savolni tekshirdim va muammo hal qilindi

Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server.

Menimcha, u xuddi morfiyalik pi-dan foydalanishda ham ishlaydi.

0
qo'shib qo'ydi
Qo'lingizda yo'q, lekin sizning afzal qidiruvi quyidagicha bo'lishi kerak :-D
qo'shib qo'ydi muallif Mike Lischke, manba
2-qism sizning MySQL-ni internetga ochishingiz kerak bo'lganligi uchun biroz qiyinroq. Ulanishni ta'minlash uchun SSH tunelidan yaxshiroq foydalaning. Bundan tashqari siz LAN-da qilgan kabi ulanish imkoniyatiga ega bo'lishingiz kerak (agar SSH va MySQL-server ikkalasi ham bir xil qutidagi ishlayotgan bo'lsa, hatto localhost-dan foydalanishingiz mumkin).
qo'shib qo'ydi muallif Mike Lischke, manba
@MikeLischke Sizning yordamingiz uchun sizga tashakkur aytaman, Ssh tunelidan foydalanish haqida ma'lumot olish uchun biron-bir manbaani tavsiya qilsangiz yaxshi bo'lardi.
qo'shib qo'ydi muallif A.Kallas, manba

1-qism: uchun Men quyidagi savolni tekshirdim va muammo hal qilindi

Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server.

Menimcha, u xuddi morfiyalik pi-dan foydalanishda ham ishlaydi.

0
qo'shib qo'ydi
Qo'lingizda yo'q, lekin sizning afzal qidiruvi quyidagicha bo'lishi kerak :-D
qo'shib qo'ydi muallif Mike Lischke, manba
2-qism sizning MySQL-ni internetga ochishingiz kerak bo'lganligi uchun biroz qiyinroq. Ulanishni ta'minlash uchun SSH tunelidan yaxshiroq foydalaning. Bundan tashqari siz LAN-da qilgan kabi ulanish imkoniyatiga ega bo'lishingiz kerak (agar SSH va MySQL-server ikkalasi ham bir xil qutidagi ishlayotgan bo'lsa, hatto localhost-dan foydalanishingiz mumkin).
qo'shib qo'ydi muallif Mike Lischke, manba
@MikeLischke Sizning yordamingiz uchun sizga tashakkur aytaman, Ssh tunelidan foydalanish haqida ma'lumot olish uchun biron-bir manbaani tavsiya qilsangiz yaxshi bo'lardi.
qo'shib qo'ydi muallif A.Kallas, manba
NodeJS Uzbekistan
NodeJS Uzbekistan
152 ishtirokchilar

Guruh NodeJS bo'yicha muloqot qilish uchun ochilgan. Sizni qiziqtirsa: @nodejs_uz @react_uz @angular_uz @yiiframework_uz @js_uzb @typescript_uzb @vuejs_uz @ngTashkent @laravel_uz @uzdevgroup Ish o'rinlari @UzDev_jobs