Ако имате пълен достъп до вашия сървър (необходими са root привилегии):
Стъпка 1:редактирайте my.cnf (обикновено се намира в /etc)
Намерете следния ред:[mysqld]
и се уверете, че редът skip-networking
се коментира (или премахнете реда) и добавете следния ред:
bind-address=YOUR-SERVER-IP
Например, ако IP адресът на вашия MySQL сървър е 66.166.170.28, тогава целият блок трябва да изглежда по следния начин:
[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 = 66.166.170.28
# skip-networking
.......
Къде
- bind-address :IP адрес за свързване.
- пропускане на мрежа :Изобщо не слушайте за TCP/IP връзки. Цялото взаимодействие с mysqld трябва да се извършва чрез Unix сокети. Тази опция е силно препоръчителна за системи, където са разрешени само локални заявки. Тъй като трябва да разрешите отдалечена връзка, този ред трябва да бъде премахнат от my.cnf или да се постави в състояние на коментар.
Стъпка 2:Предоставете достъп на всички хостове
Стартирайте MySQL монитора с тази команда:mysql
или /usr/local/mysql/bin/mysql
. Вашият шел подканата трябва да изглежда така:mysql>
. Изпълнете тази команда:
GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";
Къде:
- USERNAME е потребителското име, което използвате, когато се свързвате с помощта на вашия php скрипт.
- ПАРОЛА е паролата, която използвате при свързване.
Сега трябва да изтриете привилегиите на MySQL. Изпълнете тази команда:
FLUSH PRIVILEGES;
Изпълнете тази команда, за да излезете от MySQL:
exit;
Стъпка 3:рестартирайте mysql deamon
/etc/init.d/mysqld restart
или
/etc/init.d/mysql restart
в зависимост от това коя Linux дистрибуция работи в момента на вашия сървър.