Проблемы с подключением к базе — различия между версиями
(→Правильно ли указан адрес сервера и путь к базе в конфиге?) |
|||
Строка 92: | Строка 92: | ||
</pre> | </pre> | ||
− | === | + | === Правильно ли указан логин и пароль? === |
− | Как проверить: | + | Как проверить: |
− | + | ||
− | + | <pre> | |
+ | # Значения переменных СЕРВЕР, БАЗА, ЛОГИН, ПАРОЛЬ | ||
+ | # брать в /var/www/cgi-bin/sp/sp.conf | ||
− | + | # Основная база данных: | |
− | + | # переменные db_server, db_path, db_user, db_pass | |
− | + | # Система управления Школьным сайтом: | |
+ | # переменные cmsdbhost, cmsdbname, cmsdbuser, cmsdbpasswd | ||
+ | |||
+ | isql СЕРВЕР:БАЗА -user ЛОГИН -pass ПАРОЛЬ | ||
+ | </pre> | ||
+ | |||
+ | В ответ вы должны увидеть приглашение порулить базой: | ||
+ | |||
+ | <pre> | ||
+ | Database: СЕРВЕР:БАЗА, User: ЛОГИН | ||
+ | </pre> | ||
+ | |||
+ | Чтобы выйти из инструмента isql, наберите <code>quit;</code> или нажмите Ctrl + D. | ||
+ | |||
+ | Инструмент isql может называться fbsql, isql-fb в зависимости от дистрибутива. | ||
+ | |||
+ | Если вы не увидели приглашение, а вместо этого получили отказ, устраните причину и попробуйте снова. Типичные проблемы: неверный путь, права доступа или владелец, неправильно указан пароль. | ||
− | + | Чтобы изменить пароль, воспользуйтесь советами из документации по Firebird (помните о различии в путях в разных дистрибутивах, не воспроизводите рецепты без вникания): | |
− | + | * http://www.firebirdsql.org/manual/ru/qsg15-other-necessities-ru.html#d0e937 | |
+ | * http://www.firebirdsql.org/file/documentation/reference_manuals/user_manuals/html/ru/fbutils-scripts-dba-password-ru.html |
Версия 15:03, 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
Правильно ли указан логин и пароль?
Как проверить:
# Значения переменных СЕРВЕР, БАЗА, ЛОГИН, ПАРОЛЬ # брать в /var/www/cgi-bin/sp/sp.conf # Основная база данных: # переменные db_server, db_path, db_user, db_pass # Система управления Школьным сайтом: # переменные cmsdbhost, cmsdbname, cmsdbuser, cmsdbpasswd isql СЕРВЕР:БАЗА -user ЛОГИН -pass ПАРОЛЬ
В ответ вы должны увидеть приглашение порулить базой:
Database: СЕРВЕР:БАЗА, User: ЛОГИН
Чтобы выйти из инструмента isql, наберите quit;
или нажмите Ctrl + D.
Инструмент isql может называться fbsql, isql-fb в зависимости от дистрибутива.
Если вы не увидели приглашение, а вместо этого получили отказ, устраните причину и попробуйте снова. Типичные проблемы: неверный путь, права доступа или владелец, неправильно указан пароль.
Чтобы изменить пароль, воспользуйтесь советами из документации по Firebird (помните о различии в путях в разных дистрибутивах, не воспроизводите рецепты без вникания):