Проблемы с подключением к базе — различия между версиями

Материал из Школьный портал: справочника
Перейти к: навигация, поиск
(Правильно ли указан адрес сервера и путь к базе в конфиге?)
(Сервер БД запущен?)
Строка 46: Строка 46:
 
# Проверка прямо на сервере
 
# Проверка прямо на сервере
 
telnet 127.0.0.1 3050
 
telnet 127.0.0.1 3050
 +
</pre>
 +
 +
=== Сервер перезагрузили, а firebird снова не запущен? ===
 +
 +
Исправление:
 +
 +
<pre>
 +
# пример из убунты 10.04 lts
 +
update-rc.d firebird2.1-super enable
 +
 +
# пример из alt linux
 +
chkconfig firebird on
 
</pre>
 
</pre>
  

Версия 14:39, 23 сентября 2011

Подключение портала к базе

Сервер БД запущен?

Как проверить

Для Superserver:

service firebird status

Название сервиса "firebird" может отличаться между дистрибутивами. Например, может быть "firebird2.1" или "firebird-superserver".

Для classic:

Classic работает через xinetd. Поэтому первым делом проверьте, запущен ли он.

service xinetd status

Возможно, после установки firebird требуется перезапустить xinetd, чтобы он перечитал файлы конфигурации, в том числе и конфиг для firebird-classic.

Как исправить

Попробуйте перезапустить firebird-superserver или xinetd в зависимости от установленной версии firebird:

# classic
service xinetd restart
# superserver
service firebird start

Убедитесь также, что в /etc/services есть запись для firebird:

grep gds_db /etc/services
gds_db 3050/tcp

Если нет, добавьте.

Результат должен быть таким: firebird должен отвечать на порту tcp/3050.

# Проверка прямо на сервере
telnet 127.0.0.1 3050

Сервер перезагрузили, а firebird снова не запущен?

Исправление:

# пример из убунты 10.04 lts
update-rc.d firebird2.1-super enable

# пример из alt linux
chkconfig firebird on

Правильно ли указан адрес сервера и путь к базе в конфиге?

Как проверить

Выполните и сверьтесь:

grep db_ /var/www/cgi-bin/sp/sp.conf
db_server = 127.0.0.1                         # <--- адрес сервера
db_path   = /path/to/database.gdb             # <--- путь к базе
db_user   = ***
db_pass   = ***

grep cmsdb /var/www/cgi-bin/sp/sp.conf
cmsdbhost         = 127.0.0.1                 # <--- адрес сервера
cmsdbname         = /path/to/database-cms.gdb # <--- путь к базе
cmsdbuser         = ***
cmsdbpasswd       = ***

Файлы должны существовать на сервере с указанным адресом (допустимы IP-адреса и DNS-имена). Файл должен быть доступен firebird. Убедитесь, что пользователю firebird разрешено читать и писать в файлы БД.

Пример исправления:

# выяснить права
ls -l /path/to/database.gdb
# задать владельца
chown firebird:firebird /path/to/database.gdb
# задать права на чтение и запись (остальным нужно запретить всё)
chmod 660 /path/to/database.gdb

Есть ли база на сервере?

Как проверить: TODO Как исправить: TODO

Есть ли права доступа к базе для сервера БД?

Как проверить: TODO Как исправить: TODO

Правильно ли указан логин и пароль?

Как проверить: TODO Как исправить: TODO