Я установила и настроила syslog-ng-1.5.26.
Установила mysql-4.1.7-4.RHEL4.1
phpsyslogng-2.8
php-4.3.9-3.1
httpd-2.0.52-9.ent
syslog-ng пишет логи в БД mysql. Пытаюсь настроить веб интерфейс для просмотра БД с помощью php-syslog-ng через апач, но неполучаеться пишет:
A database connection problem was encountered.
Please check config/config.php to make sure everything is correct and make sure the MySQL server is up and running.
Помогите пожалуйста.
так ведь написано что в config/config.php неправильные настройки либо mysqld не запущен>[оверквотинг удален]
> php-4.3.9-3.1
>
> httpd-2.0.52-9.ent
>
>syslog-ng пишет логи в БД mysql. Пытаюсь настроить веб интерфейс для просмотра
>БД с помощью php-syslog-ng через апач, но неполучаеться пишет:
>A database connection problem was encountered.
>Please check config/config.php to make sure everything is correct and make sure
>the MySQL server is up and running.
>Помогите пожалуйста.
>так ведь написано что в config/config.php неправильные настройки либо mysqld не
>запущенДело в том, что config/config.php я проверила несколько раз, и mysqld запущен. Эту проблему я исправила добавив в файл php.ini строку extension=mysql.so. Теперь мне php-syslog-ng выдает другую ошибку:Username and password combination does not exist!
Я захожу в базу с помощью phpMyAdmin, все видит и все пользователи с паролями есть. Что сделать чтоб php-syslog-ng работал нормально?
ну написано ведь Username and password combination does not exist!
либо давай подробнее логи и конфиги
>ну написано ведь Username and password combination does not exist!
>либо давай подробнее логи и конфигиВот config.php
<?php
// Copyright (C) 2005 Claus Lund, clauslund@gmail.com//========================================================================
// BEGIN: MISC FUNCTIONALITY
//========================================================================
define('PAGETITLE', 'php-syslog-ng');
define('VERSION', '2.8');// COUNT_ROWS determines if results also display the number of total
// entries in the query. You need to have MySQL 4.0.0 or later for this
// to work. If you are using an older version of MySQL then disable this
// feature.
define('COUNT_ROWS', TRUE);// DEFAULTLOGTABLE is the name of the table where new syslog entries are
// stored.
define('DEFAULTLOGTABLE', 'logs');// MERGELOGTABLE is the name of the merge table. This feature should
// generally only be used in combination with the logrotate script.
// If it is enabled then the logrotate script will create a merge table
// of all the log tables. Be aware that you need to be a little careful
// when using merge tables so it is recommended that you only use it with
// the logrotate script. The merge table will also be the one used to
// populate the HOSTS and FACILITY fields on the search form.
define('MERGELOGTABLE', 'all_logs');// If LOGROTATERETENTION is defined then it determines how many days logs
// are kept. Old log tables with a datestamp older than LOGROTATERETENTION
// days will be dropped.
define('LOGROTATERETENTION', 90);
//========================================================================
// END: MISC FUNCTIONALITY
//========================================================================
//========================================================================
// BEGIN: DATABASE CONNECTION INFO
//========================================================================
// DBUSER is the name of the basic user.
define('DBUSER', 'sysloguser');// DBUSERPW is DBUSER's database password.
define('DBUSERPW', 'password');// DBADMIN is the name of the admin user.
define('DBADMIN', 'syslogadmin');// DBADMINPW is DBADMIN's database password.
define('DBADMINPW', 'password');// DBNAME is the name of the database you are using.
define('DBNAME', 'syslog');// DBHOST is the host where the MySQL server is running.
define('DBHOST', 'localhost');// DBPORT is the port where the MySQL server is listening.
// The default port is 3306.
define('DBPORT', '3306');
//========================================================================
// END: DATABASE CONNECTION INFO
//========================================================================
//========================================================================
// BEGIN: AUTHENTICATION
//========================================================================
define('REQUIRE_AUTH', TRUE);
define('AUTHTABLENAME', 'users');// Authentication has two modes:
// 1) You renew the session on every page view. This means you can have a
// tail screen running and the session will never expire as long as you
// refresh the screen before SESSION_EXP_TIME. This is the default.
// 2) The session is timed from the time you login. The session is only
// refreshed on login.
define('RENEW_SESSION_ON_EACH_PAGE', TRUE);// SESSION_EXP_TIME is seconds until the session expires.
define('SESSION_EXP_TIME', '3600');// Set the URL to php-syslog-ng. If you don't then the login screen will
// not be able to redirect users automatically after a successful login.
//define('URL', 'http://localhost/phpsyslogng/');
//========================================================================
// END: AUTHENTICATION
//========================================================================
//========================================================================
// BEGIN: ACCESS CONTROL
//========================================================================
// Access Control Lists allows you to specify what individual users have
// access to. Access Control requires Authentication to have any effect.
// Currently only the Configure screen uses this options.
define('USE_ACL', TRUE);
define('USER_ACCESS_TABLE', 'user_access');
define('ACTION_TABLE', 'actions');
//========================================================================
// BEGIN: ACCESS CONTROL
//========================================================================
//========================================================================
// BEGIN: SEARCH CACHE
//========================================================================
// Enabling the search cache will create a small table with the values
// needed to fill in the HOSTS and FACILITY fields on the search page.
// The cache table has to filled/updated by either clicking the refresh
// cache option or periodically running the updateCache.php script (from
// cron).
// If you use the MERGELOGTABLE then the cache will be updated using that
// table. If you do not use MERGELOGTABLE then the cache is updated for
// each table with log data.
define('USE_CACHE', TRUE);
define('CACHETABLENAME', 'search_cache');
//========================================================================
// END: SEARCH CACHE
//========================================================================
//========================================================================
// BEGIN: REG EXP ARRAY USED FOR INPUT VALIDATION
//========================================================================
$regExpArray = array(
"username"=>"(^\\w{4,}\$)",
"password"=>"(^.{4,}\$)",
"pageId"=>"(^\\w+$)",
"sessionId"=>"(^\\w{32}\$)",
"date"=>"/^yesterday$|^today$|^now$|^(\\d){4}-([01]*\\d)-([0123]*\\d)$/i",
"time"=>"/^now$|^([012]*\\d):([012345]*\\d):([012345]*\\d)$/i",
"limit"=>"(^\\d+$)",
"orderby"=>"/^seq$|^host$|^facility$|^priority$|^datetime$/i",
"order"=>"/^asc$|^desc$/i",
"offset"=>"(^\\d+$)",
"collapse"=>"/^1$/",
"table"=>"(^\\w+$)",
"excludeX"=>"(^[01]$)",
"host"=>"(^[\\w-.]+$)",
"facility"=>"(^\\w+$)",
"priority"=>"/^debug$|^info$|^notice$|^warning$|^err$|^crit$|^alert$|^emerg$/i",
);
//========================================================================
// END: REG EXP ARRAY USED FOR INPUT VALIDATION
//========================================================================
?>
А в каких логах смотреть? В логах апача ничего нет.
попробуй так
mysql -U sysloguser -D syslog -h 127.0.0.1 -P 3306 -p password
и так
mysql -U syslogadmin -D syslog -h 127.0.0.1 -P 3306 -p passwordи теоретически увидите где что не так
>попробуй так
>mysql -U sysloguser -D syslog -h 127.0.0.1 -P 3306 -p password
>и так
>mysql -U syslogadmin -D syslog -h 127.0.0.1 -P 3306 -p password
>
>и теоретически увидите где что не такmysql -U sysloguser -D syslog -h 127.0.0.1 -P 3306 -p password Такой результат:
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
auto-rehash TRUE
character-sets-dir (No default value)
default-character-set latin1
compress FALSE
database syslog
delimiter ;
vertical FALSE
force FALSE
named-commands FALSE
local-infile FALSE
no-beep FALSE
host 127.0.0.1
html FALSE
xml FALSE
line-numbers TRUE
unbuffered FALSE
column-names TRUE
sigint-ignore FALSE
port 3306
prompt mysql>
quick FALSE
raw FALSE
reconnect TRUE
socket (No default value)
table FALSE
debug-info FALSE
user (No default value)
safe-updates TRUE
i-am-a-dummy TRUE
connect_timeout 0
max_allowed_packet 16777216
net_buffer_length 16384
select_limit 1000
max_join_size 1000000
secure-auth FALSEМой файл конфига
cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1[mysql.server]
user=mysql
basedir=/var/lib[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidЧто не так? Я первый раз настраиваю mysql, поэтому не знаю как надо.
мог бы тут почитать для начала http://dev.mysql.com/doc/#manual
создаешь пользователя, создаешь для него базу
>мог бы тут почитать для начала http://dev.mysql.com/doc/#manual
>создаешь пользователя, создаешь для него базу"Могла".
Я создавала базу и пользователей скриптом из phpsyslogng-2.8
mysql -u root -p <dbsetup.sql
База есть, пользователи есть, пользователь syslogfeeder пишет в базу. Пользователем sysloguser просматриваю таблицы. Но это все через mysql. А вот через браузер не могу зайти пишет все ту же ошибку:Username and password combination does not exist!
я изменила файл my.cf
# The following options will be passed to all MySQL clients
[client]
#password = password
port = 3306
socket = /var/lib/mysql/mysql.sock# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64Kserver-id = 1
[mysqldump]
quick
max_allowed_packet = 16M[mysql]
no-auto-rehash[isamchk]
key_buffer = 8M
sort_buffer_size = 8M[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M[mysqlhotcopy]
interactive-timeoutНе помогло.
настройки mysql не трогай- верни все как было и копай конфиги php-syslog-ng там у тебя что-то не так прописано либо пользователь либо пароль
>настройки mysql не трогай- верни все как было и копай конфиги php-syslog-ng
>там у тебя что-то не так прописано либо пользователь либо пароль
>В том и проблема, что конфиг php-syslog-ng один файл, и пароль и пользователь указан верно. А где еще копать не знаю.
В логе апача :
PHP Notice: Constant MYSQL_ASSOC already defined in Unknown on line 0
PHP Notice: Constant MYSQL_NUM already defined in Unknown on line 0
PHP Notice: Constant MYSQL_BOTH already defined in Unknown on line 0
PHP Notice: Constant MYSQL_CLIENT_COMPRESS already defined in Unknown on line 0
PHP Notice: Constant MYSQL_CLIENT_SSL already defined in Unknown on line 0
PHP Notice: Constant MYSQL_CLIENT_INTERACTIVE already defined in Unknown on line 0
PHP Notice: Constant MYSQL_CLIENT_IGNORE_SPACE already defined in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_connect in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_pconnect in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_close in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_select_db in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_query in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_unbuffered_query in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_db_query in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_list_dbs in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_list_tables in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_list_fields in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_list_processes in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_error in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_errno in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_affected_rows in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_insert_id in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_result in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_num_rows in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_num_fields in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fetch_row in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fetch_array in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fetch_assoc in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fetch_object in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_data_seek in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fetch_lengths in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fetch_field in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_field_seek in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_free_result in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_field_name in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_field_table in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_field_len in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_field_type in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_field_flags in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_escape_string in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_real_escape_string in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_stat in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_thread_id in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_client_encoding in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_ping in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_get_client_info in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_get_host_info in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_get_proto_info in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_get_server_info in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_info in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fieldname in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fieldtable in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fieldlen in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fieldtype in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_fieldflags in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_selectdb in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_freeresult in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_numfields in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_numrows in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_listdbs in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_listtables in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_listfields in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_db_name in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_dbname in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_tablename in Unknown on line 0
PHP Warning: Function registration failed - duplicate name - mysql_table_name in Unknown on line 0
PHP Warning: mysql: Unable to register functions, unable to load in Unknown on line 0
[Wed May 21 01:10:48 2008] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads.
[Wed May 21 01:10:49 2008] [notice] Apache/2.0.52 (Red Hat) configured -- resuming normal operationsЯ так понимаю, что php непонимает данный функций mysql. Но в конфиги пхп есть запись о использовании библиотеки mysql.so. Может пхп нужна еще библиотека.Но какая?
Эти сообщения скорее всего как раз из-за добавления mysql.so в конфиг, в результате дважды пытаемся зарегать функции для мускула.Не совсем понятно какие именно логин/пароль не подходят, те что на уровне мускула или его собственный уровень авторизации. Для проверки я бы предложил:
1. Попробовать отключить ему собственную авторизацию:
define('REQUIRE_AUTH', FALSE); или просто закомментировать эту строчку.
2. Написать простой пыховый скрипт для тестирования соединения с базой используя константы из config.php.
>Эти сообщения скорее всего как раз из-за добавления mysql.so в конфиг, в
>результате дважды пытаемся зарегать функции для мускула.
>
>Не совсем понятно какие именно логин/пароль не подходят, те что на уровне
>мускула или его собственный уровень авторизации. Для проверки я бы предложил:
>
>1. Попробовать отключить ему собственную авторизацию:
>define('REQUIRE_AUTH', FALSE); или просто закомментировать эту строчку.
>2. Написать простой пыховый скрипт для тестирования соединения с базой используя константы
>из config.php.Я понимаю, что эти сообщения из-за дублирования, но если убрать эту запись из конфига то вобще не конектиться к базе.
Я проверяла таким скриптом соединение с базой:
<?php
$link = mysql_connect('localhost', 'root', '78c$V091');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>Выдало Connected successfully
Вот и я не понимаю какой логин и пароль ему не подходит. Я использую тот который для mysql, я их проверила непосредственно mysql -u sysloguser -p
А директива define('REQUIRE_AUTH', FALSE); в каком файле?
define('REQUIRE_AUTH', FALSE);
Я поставила эту директиву и теперь после ввода логина и пароля ничего не пишет, а просто очишает эти два поля ввода
Я закомитила строчку define('REQUIRE_AUTH', FALSE);
И все заработало!!!!!!!!! Ура!
Спасибо огромное за помощь!