Mysql
 sql >> база данни >  >> RDS >> Mysql

Активирайте отдалечен достъп до базата данни MySQL

Обикновено отдалеченият достъп до сървъра на базата данни MySQL е деактивиран от съображения за сигурност. Въпреки това, известно време трябва да осигурите отдалечен достъп до MySQL сървър на база данни от дома или уеб сървър. Можете да следвате тези стъпки, за да го активирате.

Стъпка 1:Влезте с помощта на SSH (ако сървърът е извън вашата среда или интранет)

Първо, влезте през ssh в отдалечен сървър на база данни MySQL от Windows с PuTTy или от Linux чрез SSH

Стъпка 2:Редактирайте файла my.cnf

След като се свържете, трябва да редактирате конфигурационния файл на MySQL сървъра my.cnf с помощта на текстов редактор като vi:

  • На Debian Linux файлът се намира в /etc/mysql/my.cnf местоположение.
  • На Red Hat Linux/Fedora/Centos Linux файлът се намира на адрес /etc/my.cnf местоположение.

За да редактирате /etc/my.cnf, изпълнете:

# vi /etc/my.cnf
  • На Windows , my.ini файлът се намира в C:\Program Files\MySQL\MySQL Server X.Y (X.Y е номерът на версията на MySQL сървъра)

За Windows отворете файла my.ini в бележника

Стъпка 3:След като файлът се отвори, намерете ред, който гласи както следва

[mysqld]

Уверете се, че мрежата за пропускане на ред е коментирана (или премахнете реда) и добавете следния ред

bind-address=YOUR-SERVER-IP

Например, ако IP на вашия MySQL сървър е 173.234.21.12, тогава целият блок ще изглежда както следва:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 173.234.21.12
# skip-networking
....

Къде,

  • свързване-адрес :IP адрес за свързване.
  • пропускане на мрежа :Изобщо не слушайте за TCP/IP връзки. Цялото взаимодействие с mysqld трябва да се извършва чрез Unix сокети. Тази опция е силно препоръчителна за системи, където са разрешени само локални заявки. Тъй като трябва да разрешите отдалечена връзка, този ред трябва да бъде премахнат от my.cnf или коментиран.

Стъпка 4:Запазете и затворете файла

В Debian / Ubuntu Linux въведете следната команда, за да рестартирате mysql сървъра:

# /etc/init.d/mysql restart

На RHEL / CentOS / Fedora / Scientific Linux въведете следната команда, за да рестартирате mysql сървъра:

# /etc/init.d/mysqld restart

В Windows отворете командния ред като администратор и въведете

net stop MySQL
net start MySQL

Стъпка 5:Предоставете достъп до отдалечен IP адрес

Предоставете достъп до нова база данни

Ако искате да добавите нова база данни, наречена foo за потребителска лента и отдалечен IP 162.72.20.23, тогава трябва да въведете следните команди в подкана mysql:

mysql> CREATE DATABASE foo;
mysql> GRANT ALL ON foo.* TO bar@'162.72.20.23' IDENTIFIED BY 'PASSWORD';

Предоставете достъп до съществуваща база данни

Да предположим, че винаги осъществявате връзка от отдалечен IP, наречен 162.72.20.23, към база данни, наречена webdb за потребител webadmin. За да предоставите достъп до този IP адрес за съществуваща база данни, въведете следната команда в mysql prompt:

mysql> update db set Host='162.72.20.23' where Db='webdb';
mysql> update user set Host='162.72.20.23' where user='webadmin';

Стъпка 6:Излизане от MySQL

Въведете команда exit, за да излезете от mysql:

mysql> exit

Стъпка 7:Отворете порт 3306

Примерно правило на iptables за отваряне на защитната стена на Linux iptables

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT

ИЛИ разреши само отдалечена връзка от вашия уеб сървър, разположен на 162.72.20.23:

/sbin/iptables -A INPUT -i eth0 -s 162.72.20.23 -p tcp --destination-port 3306 -j ACCEPT

ИЛИ разреши само отдалечена връзка от вашата LAN подмрежа 192.168.1.0/24:

/sbin/iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --destination-port 3306 -j ACCEPT

Накрая запазете всички правила (специфична команда за RHEL / CentOS):
# service iptables save

В Windows отидете на Контролен панел> Защитна стена на Windows> Добавяне на входящо правило за порт 3306

Стъпка 8:Тествайте отдалечен достъп до базата данни MySQL

От вашата отдалечена система или вашия работен плот въведете следната команда:

$ mysql -u webadmin –h 173.234.21.12 –p

В Windows стартирайте програмата от командния ред MySQL и влезте като администратор, като напишете следната команда от основната папка на MySQL (напр. Program Files\MySQL\MySQL Server 5.5\bin):

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysql -u webadmin –h 173.234.21.12 –p

Където,

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Правилен начин да използвате LIKE '%{$var}%' с подготвени оператори? [mysqli]

  2. Вмъкване на данни в MySQL база данни

  3. Как да актуализирате множество колони в MySQL

  4. Как да покажа грешки за моята MySQLi заявка?

  5. Как да получите текущия пореден номер на Auto_Increment за MySQL / MariaDB таблица