Проблемы с подключением к базе — различия между версиями
(→Правильно ли указан адрес сервера и путь к базе в конфиге?) |
(→Сервер БД запущен?) |
||
Строка 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