2014-01-19 3 views
12

Я пытаюсь настроить веб-сервер (Debian 7). Я последовал за этим tutorial. Я арендую свой сервер благодаря службе gandi.net. И у меня теперь есть apache2, mysql, php5 и работает. подключиться к нему с помощью следующей команды на терминале: ssh [email protected]Не удается подключиться к серверу MySQL (ip или доменное имя)

Следующим шагом будет создать свою базу данных через сиквела про и я не знаю, как это сделать, и документация не так ясно ... Вот что я «м говорим о: enter image description here

Я попытался соединить:

  • Nom: некоторые названия, я нашел ясно. (Я думаю, что я могу поставить что-нибудь здесь, верно?)
  • Хост: IP или доменное имя
  • Пользователь: имя пользователя, я использую в моей связи SSH (сравни выше)
  • Пароль: пароль I и использовать для подключения SSH (см выше) и подключение тузд

в остальном, я оставил, как это было, и я получил сообщение об ошибке:

Невозможно подключиться к хосту domainname.com, или истекло время запроса.

Убедитесь, что адрес правильный и у вас есть необходимые права, или попробуйте увеличить время ожидания соединения (в настоящее время 10 секунд).

MySQL сказал: не удается подключиться к серверу MySQL на 'domainename.com' (61)»(2)

Любая идея, как я могу это сделать?

ответ

20

Если вы выполняете обычную установку MySQL на Debian, он будет настроен на блокировку внешних подключений к базе данных.

Это означает, что вам все равно нужно сообщить MySQL, что внешний доступ в порядке. Для этого вам нужно обновить адрес привязки для MySQL. Это настроено в my.cnf, которое в системах на базе Debian находится в /etc/mysql/my.cnf.

Там, найдите раздел, который говорит

[mysqld] 

В там, вы должны убедиться, что

  • линия skip-networking либо комментировал (комментарии начинаются с «#») или нет там, и
  • Bind-address установлен либо 0.0.0.0 (который есть, если нет связного адреса строки), либо на IP-адрес вашего сервера.

После этого вы должны перезапустить службу MySQL. Затем вам нужно создать пользователя, которому разрешен удаленный доступ.Это может быть сделано с помощью запроса SQL:

GRANT ALL ON yourdatabase.* TO [email protected]'*' IDENTIFIED BY 'yourpassword'; 

Вы можете переключиться из звездочки для IP-адрес, который вы будете подключаться с, если это то же самое каждый раз.

Наконец, вам нужно открыть порт 3306 (порт MySQL использует) на вашем брандмауэре. Это обычно не обязательно, поскольку оно уже открыто для большинства систем, но это можно сделать с помощью следующей команды iptables.

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

Источник: 1

+0

Отлично! Благодаря ! –

+0

, пожалуйста, сделайте свой ответ автономным, чтобы он работал, когда сайты с сайтами спускались. – 1010

+1

@ 1010 сделал попытку таким образом. Работает ли этот формат? –

7

Это решение, которое работает для меня: В Debian 7 вид в my.cnf под /etc/mysql/my.cnf и найти следующие строки:

# Instead of skip-networking the default is now to listen only on 
# localhost which is more compatible and is not less secure. 
bind-address  = 127.0.0.1 

Теперь измените 127.0.0.1 на IP-адрес сервера mysql, который вы хотите подключить, или 0.0.0.0 без ограничений.

0

Судо ВИМ/и т.д./SSH/sshd_config

набор локальный в файле httpd.conf следующим

ServerName LOCALHOST

или иначе порт не будет принимать запрос на сервер, и покажет cant подключиться к серверу ip_address

1

Я пытался найти файл .cnf, поэтому я сделал следующее:

sudo find/-name "*.cnf" 

/etc/mysql/mysql.conf.d/mysqld.cnf 
/etc/mysql/my.cnf 
/etc/mysql/mysql.cnf 
/etc/mysql/conf.d/mysqldump.cnf 
/etc/mysql/conf.d/mysql.cnf 

Я редактировал /etc/mysql/mysql.conf.d/mysqld.cnf на основе

strace mysql ";" 2>&1 | grep cnf 

stat("/etc/my.cnf", 0x7ffda9472660)  = -1 ENOENT (No such file or directory) 
stat("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=683, ...}) = 0 
open("/etc/mysql/my.cnf", O_RDONLY)  = 3 
stat("/etc/mysql/conf.d/mysql.cnf", {st_mode=S_IFREG|0644, st_size=8, ...}) = 0 
open("/etc/mysql/conf.d/mysql.cnf", O_RDONLY) = 4 
stat("/etc/mysql/conf.d/mysqldump.cnf", {st_mode=S_IFREG|0644, st_size=55, ...}) = 0 
open("/etc/mysql/conf.d/mysqldump.cnf", O_RDONLY) = 4 
stat("/etc/mysql/mysql.conf.d/mysqld.cnf", {st_mode=S_IFREG|0644, st_size=3034, ...}) = 0 
open("/etc/mysql/mysql.conf.d/mysqld.cnf", O_RDONLY) = 4 
stat("/etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf", {st_mode=S_IFREG|0644, st_size=21, ...}) = 0 
open("/etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf", O_RDONLY) = 4 
stat("/root/.my.cnf", 0x7ffda9472660) = -1 ENOENT (No such file or directory) 
stat("/root/.mylogin.cnf", 0x7ffda9472660) = -1 ENOENT (No such file or directory) 

И изменил Bind-адрес на мой локальный IP-адрес.

Смежные вопросы