Како дозволити удаљене везе са МиСКЛ-ом
Ако радите са МиСКЛ базом података(MySQL database) , тада сте већ свесни изазова са којима се суочавате у одржавању безбедне базе података. Од покушаја хаковања базе података коришћењем СКЛ(SQL) ињекција до напада грубом силом, тешко је сачувати своје податке безбедним, посебно ако радите са базом података на даљину.
Постоје начини да конфигуришете СКЛ(SQL) сервер да омогући удаљене везе, али морате бити опрезни, јер омогућавање удаљених веза на МиСКЛ(MySQL) серверу може вашу базу података учинити лаком метом за хакере. Ако желите да дозволите безбедне, удаљене везе са МиСКЛ(MySQL) базом података, ево шта треба да знате.
Пре него што почнете(Before You Begin)
Пре него што извршите било какве промене у вашој МиСКЛ(MySQL) бази података, важно је да направите резервну копију базе података(backup your database) , посебно ако радите на производном серверу (сервер који се активно користи). Све промене које извршите у вашој бази података или серверу који је хостује могу довести до озбиљног губитка података ако нешто крене наопако.
Такође можете открити да промене у везама вашег сервера могу спречити да му касније приступите. Ако се то догоди, можда ћете морати да се консултујете са администратором сервера за даљу подршку. Добра идеја је да испробате све измене на локалном МиСКЛ(MySQL) серверу да проверите да ли ваше промене функционишу пре него што их испробате са даљине.
Такође је вероватно да ће вам, ако правите промене на удаљеном серверу, бити потребан безбедан начин да се повежете и извршите измене. ССХ (Сецуре Схелл)(SSH (Secure Shell)) је често најбољи начин да се то уради, јер вам омогућава да се повежете са удаљеним сервером. Такође можете да користите ССХ(SSH) за повезивање са серверима на вашој локалној мрежи, као што су они који се налазе на Распберри Пи-у(hosted on a Raspberry Pi) .
Овај водич ће вас водити кроз кораке за конфигурисање МиСКЛ(MySQL) - а за омогућавање даљинских веза, али прво морате да се уверите да имате директан или удаљени приступ серверу који хостује ваш МиСКЛ(MySQL) сервер.
Претпоставимо(Suppose) да немате даљински приступ свом серверу преко ССХ(SSH) (на пример). У том случају нећете моћи да конфигуришете своју МиСКЛ(MySQL) базу података да дозволи директно удаљене везе осим ако ваш роот миСКЛ налог већ дозвољава удаљене везе. Дакле, мораћете прво да успоставите ову везу пре него што наставите.
Уређивање ваше МиСКЛ конфигурационе датотеке(Editing Your MySQL Configuration File)
Први корак у конфигурисању МиСКЛ-(MySQL) а за омогућавање даљинских веза је уређивање ваше МиСКЛ(MySQL) конфигурационе датотеке. До ове фазе, овај водич ће претпоставити да сте се већ повезали са сервером, ПЦ-јем или Мац(Mac) -ом који удаљено хостује вашу миСКЛ базу података и имате приступ конзоли.
Алтернативно, можете да конфигуришете локални МиСКЛ(MySQL) сервер користећи отворени терминал на Мац(Mac) -у или Линук-(Linux) у или уређивач текста на Виндовс(Windows) -у .
- За почетак, користите жељени уређивач текста на конзоли да уредите своју МиСКЛ(MySQL) датотеку базе података. На Линук-(Linux) у, откуцајте sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf у терминал или ССХ(SSH) прозор да бисте уредили ову датотеку помоћу нано(nano) едитора (под претпоставком да је ваша МиСКЛ(MySQL) база података на подразумеваној локацији) .
- Ако користите Виндовс(Windows) , отворите Филе Екплорер(File Explorer) и приступите фасцикли која садржи вашу МиСКЛ(MySQL) инсталацију (нпр. C:/Program Files/MySQL/MySQL Server 8.0 ). Отворите датотеку ми.ини(my.ini) користећи подразумевани уређивач текста (нпр. Нотепад(Notepad) ) тако што ћете двапут кликнути на унос. Ако га нема, прво креирајте датотеку(create the file first) .
- На Мац(Mac) -у отворите прозор терминала и откуцајте sudo nano /usr/local/etc/my.cnf . Ово је подразумевана конфигурациона датотека за МиСКЛ(MySQL) ако сте инсталирали МиСКЛ (MySQL) користећи хомебрев(using homebrew) .
Горе наведене локације су подразумеване локације за МиСКЛ(MySQL) конфигурационе датотеке. Ако ове команде не функционишу, мораћете ручно да потражите релевантне датотеке ( ми.цнф(my.cnf) , мисклд.цнф(mysqld.cnf) или ми.ини(my.ini) ) да бисте пронашли одговарајућу путању датотеке.
Подешавање опсега ИП адреса безбедне везе(Setting a Safe Bind-Address IP Range)
- Када отворите МиСКЛ(MySQL) конфигурациону датотеку за свој сервер, користите тастер са стрелицом на тастатури да бисте дошли до одељка за везу са адресом(bind-address) датотеке. Овај опсег ИП-а ограничава везе са вашом базом података, која је обично подешена да дозвољава везе само са локалне машине или сервера користећи 127.0.0.1 .
- Ако желите да конфигуришете своју МиСКЛ(MySQL) базу података да дозволи повезивање са уређаја који користе вашу тренутну интернет везу, прво пронађите своју јавну ИП адресу(find your public IP address) , а затим замените 127.0.0.1 том ИП адресом. Алтернативно, замените је ИП адресом за уређај или сервер са којег желите да дозволите везе.
- У неким околностима, можда ћете желети да дозволите све(all) удаљене везе са МиСКЛ(MySQL) базом података. Ово носи изузетан ризик(extreme risk) и не би требало да се користи на производном серверу. Међутим, ако желите да то дозволите, замените 127.0.0.1 са 0.0.0.0 .
- Забележите вредност порта(port ) у одељку Основна подешавања(Basic Settings) . Ово ће бити потребно у следећем одељку. Ако није видљив, користиће се подразумевана вредност, а то је порт 3306 . Можете додати сопствени порт тако што ћете у нови ред уписати port = xxxxкккк(xxxx) одговарајућом вредношћу порта.
- Када конфигуришете везу-адресу(bind-address ) у вашој МиСКЛ(MySQL) конфигурационој датотеци, сачувајте датотеку. Ако користите Линук(Linux) , изаберите Ctrl + O и Ctrl + X да бисте то урадили. На Мац-у изаберите Command + O и Command + X . Корисници Виндовс-а могу да сачувају тако што ће изабрати Филе(File ) > Саве(Save) .
- Затим, корисници Линук(Linux) -а и Мац -а могу поново покренути (Mac)МиСКЛ(MySQL) тако што ће откуцати мискл.сервер стоп && мискл.сервер старт(mysql.server stop && mysql.server start ) или мискл.сервер рестарт(mysql.server restart) . Можда ћете морати да подигнете команду користећи судо(using sudo) (нпр. судо мискл.сервер рестарт(sudo mysql.server restart) ) и користите одговарајућу путању до датотеке мискл.сервер (нпр. /usr/local/bin/mysql.server ).
- Ако горња команда не ради, покушајте уместо тога поново покренути судо сервице мискл(sudo service mysql restart ) .
- Да бисте поново покренули МиСКЛ(MySQL) на Виндовс(Windows) - у, отворите нови прозор ПоверСхелл -а тако што ћете десним тастером миша кликнути на мени (PowerShell)Старт(Start) и изабрати Виндовс ПоверСхелл (Админ)(Windows PowerShell (Admin)) . У прозору ПоверСхелл откуцајте нет стоп мискл80(net stop mysql80 ) а затим нет старт мискл80(net start mysql80) , замењујући мискл80(mysql80) исправним именом услуге на вашем рачунару.
Ако нисте сигурни у исправно име услуге у оперативном систему Виндовс(Windows) , откуцајте нет старт(net start) да бисте га пронашли. Ако не можете поново да учитате своју конфигурацију, поново покрените сервер и поново учитајте МиСКЛ(MySQL) ручно (ако је потребно).
Конфигурисање ваших заштитних зидова(Configuring Your Firewalls)
У овој фази, ваша МиСКЛ(MySQL) база података би требало да дозволи удаљене везе са уређаја који користе ИП адресу коју сте поставили као вредност адресе везивања(bind-address) у вашој МиСКЛ(MySQL) конфигурационој датотеци (или са свих уређаја ако ову вредност поставите на 0.0.0.0 ). Међутим, везе ће и даље бити блокиране од стране вашег уређаја или мрежног заштитног зида(device or network firewall) .
Већина сервера и рачунара користи заштитни зид за блокирање веза осим ако се не одобри приступ одређеном порту. Кораци за ово конфигурисање ће се разликовати у зависности од тога да ли користите МиСКЛ(MySQL) на Виндовс(Windows) -у или Линук-(Linux) у . Заштитни зидови за Мац(Mac) су подразумевано онемогућени, тако да не бисте требали да довршавате никакве додатне кораке овде.
Конфигуришите Линук заштитне зидове(Configure Linux Firewalls)
Многи Линук сервери користе иптаблес(iptables) као подразумевани услужни програм за заштитни зид. Можете га конфигурисати пратећи кораке у наставку.
- Отворите терминал или ССХ(SSH) везу и откуцајте судо иптаблес -А ИНПУТ -п тцп -с КСКСКСКС –дпорт ИИИИ -ј АЦЦЕПТ(sudo iptables -A INPUT -p tcp -s X.X.X.X –dport YYYY -j ACCEPT) . Замените КСКСКСКС(X.X.X.X) ИП адресом за уређај са којег желите да дозволите МиСКЛ(MySQL) везе са(from) , и замените ИИИИ(YYYY ) одговарајућом вредношћу порта из ваше МиСКЛ(MySQL) конфигурационе датотеке (нпр. 3306 ).
- Ово ће привремено конфигурисати заштитни зид. Ако користите Дебиан или Убунту базиран Линук(Linux) сервер, учините ову промену трајном тако што ћете у прозор терминала или ССХ укуцати судо нетфилтер-персистент саве(sudo netfilter-persistent save) и судо нетфилтер-персистент релоад .(sudo netfilter-persistent reload )
Ако иптаблес није подразумевани заштитни зид за вашу Линук(Linux) дистрибуцију, мораћете да консултујете упутство за употребу ваше дистрибуције за више информација. Ако су одређени пакети (као што је нетфилтер-персистент(netfilter-persistent) ) недоступни, користите алатку за складиште софтвера ваше дистрибуције да бисте их инсталирали (нпр. судо апт инсталл нетфилтер-персистент(sudo apt install netfilter-persistent) ).
Конфигуришите Виндовс заштитне зидове(Configure Windows Firewalls)
Ако користите Виндовс рачунар или сервер за хостовање базе података, можете да конфигуришете свој заштитни зид користећи ове кораке:
- Кликните десним тастером миша(Right-click) на мени Старт(Start) и изаберите Покрени(Run) .
- У пољу Покрени(Run) откуцајте вф.мсц(wf.msc) и изаберите ОК(OK) .
- У прозору Виндовс заштитника(Windows Defender) изаберите Улазна правила(Inbound Rules ) > Ново правило(New Rule) .
- У прозору чаробњака за нова улазна правила(New Inbound Rule Wizard) изаберите Порт(Port ) > Следеће(Next) .
- У следећем менију изаберите ТЦП(TCP) из опција, откуцајте 3306 (или било коју вредност порта која је наведена у вашој МиСКЛ(MySQL) конфигурационој датотеци), а затим изаберите Следеће(Next) .
- У менију Радња(Action) оставите подразумевану опцију да омогућите везу(Allow the connection) , а затим изаберите Следеће(Next) .
- Потврдите да желите да се правило примени на све типове мреже, а затим изаберите Следеће(Next) .
- Откуцајте описно име за правило (нпр. МиСКЛ(MySQL) ) у наведени порт, а затим изаберите Заврши(Finish) да бисте га додали на листу правила заштитног зида.
Ако имате проблема са повезивањем, поновите ове кораке изнад, пазећи да направите ново одлазно правило(outbound rule ) у подешавањима заштитног зида користећи исте детаље (порт 3306, итд.). Можда ћете такође морати да конфигуришете локални мрежни рутер да отвори неопходне блокиране портове(open the necessary blocked ports) како бисте омогућили долазне и одлазне везе са вашом базом података.
Повезивање на удаљени сервер помоћу МиСКЛ-а(Connecting to a Remote Server Using MySQL)
Након што конфигуришете своју МиСКЛ(MySQL) базу података да дозволи удаљене везе, мораћете да успоставите везу са њом. Ово можете да урадите помоћу команде мискл(mysql) ( мискл.еке(mysql.exe ) на Виндовс(Windows) - у) са терминала или прозора ПоверСхелл(PowerShell) -а .
Ако користите Виндовс(Windows) , мораћете да се уверите да је МиСКЛ инсталиран локално(MySQL is installed locally) пре него што почнете. Корисници Мац(Mac) -а могу да инсталирају МиСКЛ (MySQL) користећи хомебрев(using homebrew) са терминала ( брев инсталл мискл(brew install mysql) ), док корисници Линук-(Linux) а могу да користе своје локално спремиште апликација (нпр. судо апт инсталл мискл(sudo apt install mysql) ) да инсталирају потребне пакете.
Повезивање на МиСКЛ на Линук-у или Мац-у(Connecting to MySQL on Linux or Mac)
- Да бисте се повезали са удаљеним МиСКЛ(MySQL) сервером на Мац(Mac) -у или Линук-(Linux) у, отворите нови прозор терминала и откуцајте мискл -у корисничко име -х КСКСКСКС:КСКСКСКС -п(mysql -u username -h X.X.X.X:XXXX -p) . Замените КСКСКСКС:КСКСКСКС(X.X.X.X:XXXX ) ИП адресом удаљеног сервера и бројем порта (нпр. 100.200.100.200:3306 ) и корисничким именом(username) својим МиСКЛ корисничким именом.
- Када се то од вас затражи, потврдите лозинку. Ако је веза успешна, на терминалу ће се појавити порука о успеху.
Повезивање на МиСКЛ на Виндовс-у(Connecting to MySQL on Windows)
- Да бисте се повезали са удаљеним МиСКЛ(MySQL) сервером у оперативном систему Виндовс(Windows) , отворите нови ПоверСхелл(PowerShell) прозор тако што ћете десним тастером миша кликнути на мени Старт(Start) и изабрати Виндовс ПоверСхелл (Админ)(Windows PowerShell (Admin)) .
- У новом прозору ПоверСхелл-а откуцајте cd “C:\Program Files\MySQL\MySQL Workbench 8.0\ ” да бисте унели исправну фасциклу, замењујући овај директоријум исправним директоријумом за инсталацију на рачунару. На пример, ако је ваша верзија МиСКЛ(MySQL) - а 8.0.1, користите фасциклу МиСКЛ Воркбенцх 8.0.1 .(MySQL Workbench 8.0.1)
- Одатле откуцајте .\mysql.exe -u username -h X.X.X.X:XXXX -p . Замените КСКСКСКС:КСКСКСКС(X.X.X.X:XXXX ) ИП адресом вашег удаљеног сервера и бројем порта (нпр. 100.200.100.200:3306 ) и корисничким именом(username) МиСКЛ корисничким(MySQL) именом које омогућава даљински приступ (као што је роот(root) ). Пратите(Follow) сва додатна упутства на екрану.
- Наведите своју лозинку, када се то од вас затражи, да бисте довршили процес пријављивања и даљински приступили вашој МиСКЛ бази података.(MySQL)
Ако ово не успе, повежите се са сервером или рачунаром који хостује ваш МиСКЛ(MySQL) сервер користећи ССХ(SSH) (или му приступите директно) користећи ове кораке и користећи аргумент -х лоцалхост . (-h localhost)Затим можете креирати одговарајући кориснички налог пратећи доле наведене кораке.
Омогућавање приступа удаљеном кориснику МиСКЛ бази података(Allowing Remote User Access to a MySQL Database)
До овог тренутка, требало би да будете у могућности да се повежете са својим МиСКЛ(MySQL) сервером на даљину користећи роот кориснички налог вашег сервера или други кориснички налог са повишеним привилегијама. Пошто овај ниво приступа није безбедан, можда бисте радије креирали ограниченији налог за приступ вашој МиСКЛ(MySQL) бази података.
Овај налог ће имати ограничен приступ вашем МиСКЛ(MySQL) серверу, омогућавајући му интеракцију само са одабраним базама података. Неће моћи да прави озбиљније промене, као што је приступ другим подацима базе података, креирање нових корисничких налога итд.
Мораћете да имате могућност да се даљински пријавите на свој МиСКЛ(MySQL) сервер. Ако не можете даљински да користите свој роот налог, мораћете да приступите љусци вашег сервера помоћу команде мискл(mysql) преко удаљене ССХ(SSH) везе или директним приступом рачунару или серверу који хостује сервер.
- У вашој удаљеној МиСКЛ(MySQL) љусци (помоћу мискл(mysql) алата), откуцајте CREATE USER “username”@”x.x.x.x” IDENTIFIED BY “password”; и изаберите Ентер(Enter) . Замените корисничко име(username ) корисничким именом које желите да креирате, кккк(x.x.x.x ) ИП адресом са које желите да се повежете, а лозинку(password) одговарајућом лозинком.
- Мораћете да одобрите свој нови налог са потребним дозволама. Да бисте то урадили, откуцајте GRANT ALL ON databasename.* TO username@”x.x.x.x”; и замените име базе података, корисничко име(databasename, username, ) и кккк(x.x.x.x ) исправним детаљима. Ако желите, замените име базе података(databasename) са * да бисте јој омогућили приступ свим базама података.
Са одобреним приступом, користите кораке у одељку изнад да бисте се даљински повезали са сервером користећи свој нови налог (нпр. мискл -у корисничко име -х КСКСКСКС:КСКСКСКС -п(mysql -u username -h X.X.X.X:XXXX -p) ).
Обезбеђивање података ваше базе података(Securing Your Database Data)
Без обзира да ли радите са МиСКЛ(MySQL) -ом или другом врстом СКЛ(SQL) базе података, важно је да своје везе одржавате безбедним да бисте одржали безбедност података. Добар начин да то урадите је да генеришете ССХ кључеве за даљински приступ(generate SSH keys for remote access) вашем серверу, уместо да се ослањате на застареле (и лако погодне) лозинке.
Ако сте забринути због губитка података, лако можете направити резервну копију базе података(back up your database) на мрежи. Већина база података се покреће помоћу Линук(Linux) сервера—можете лако аутоматизовати резервну копију Линук датотека(automate a Linux file backup easily) . Ако користите МиСКЛ(MySQL) на Виндовс(Windows) - у, можете подесити сличан систем аутоматског прављења резервних копија за Виндовс(automatic backup system for Windows) , који вам омогућава да вратите своје податке у хитним случајевима.
Related posts
Како блокирати удаљене везе са Виндовс или Мац рачунаром
Како ресетовати Фире ТВ даљински
Премосне мрежне везе у оперативном систему Виндовс 7/8/10
Како да конфигуришете удаљену радну површину преко рутера
Спречите чување акредитива за удаљену радну површину у Виндовс-у
Како да вратите фабричка подешавања Ксбок Оне или Ксбок Сериес Кс
Како ажурирати Распберри Пи
Како заштитити ПДФ лозинком да би био сигуран
Како да видите кеширане странице и датотеке из вашег претраживача
Како да направите сопствени лаптоп
7 техничких савета за СЕО оптимизацију за било коју веб локацију
Користите Нетстат да видите портове за слушање и ПИД у Виндовс-у
Како претворити ВЕБП слике у ЈПГ, ГИФ или ПНГ
Једноставна питања: Шта су везе са удаљеном радном површином?
Како скенирати више страница у једну ПДФ датотеку
Како претворити динамички диск у основни диск
Како направити снимке екрана на Нинтендо Свитцх-у
Искључите контролу корисничког налога (УАЦ) за одређену апликацију
8 најбољих технолошких идеја за суочавање са самоизолацијом
Како отворити ДДС датотеке у оперативном систему Виндовс 10