parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

И снова проблема с MySQL

Serj 23.08.2002 16:21

Позвольте снова обратиться со свосей проблемой!
Краткая хронология:
-Не заработал MySQL, начал искать причину...
-После долгих поисков нашёл, что конфиг по умолчанию вообще не читается, исправил.
Попутно, чтобы добавить Парсеру возможность читать файлы, принадлежащие другим группам, мы скомпилировали его из исходных текстов.
Замечу, что пробовали использовать всевозможные параметры, которые (по нашему мнению) могли иметь отношение к MySQL, но на конечный результат это абсолютно не влияло, поэтому окончательно скомпилировали Parser без параметров, то есть configure -> make -> make install

Дальше убедились в том, что начальный auto.p читается, секция $SQL в нём не закомментарена и имеет вид:
make[2]: Nothing to be done for `install-exec-am'.
/bin/sh ../mkinstalldirs /usr/local/bin
 /usr/bin/install -c -m 644 ./auto.p.dist /usr/local/bin/auto.p.dist
make[2]: Leaving directory `/usr/src/parser-3.0.0005/bin'
make[1]: Leaving directory `/usr/src/parser-3.0.0005/bin'
make[1]: Entering directory `/usr/src/parser-3.0.0005'
make[2]: Entering directory `/usr/src/parser-3.0.0005'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/usr/src/parser-3.0.0005'
make[1]: Leaving directory `/usr/src/parser-3.0.0005'
[root@pearl parser-3.0.0005]# [root@pearl bin]# ./mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1703 to server version: 3.23.49-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases
    -> ;
+---------------------+
| Database            |
+---------------------+
| af                  |
| mysql               |
| parser              |
| php                 |
| test                |
| tmp                 |
| traffic             |
| traffic1            |
| traffic_last        |
| traffic_preferences |
+---------------------+
10 rows in set (0.02 sec)

mysql> use parser
Database changed
mysql> create table news (
    -> id int not null auto_increment primary key
    -> date date
    -> header varchar(255)
    -> body text);
ERROR 1064: You have an error in your SQL syntax near 'date date
header varchar(255)
body text)' at line 3
mysql> create table news (
    -> id int not null auto_increment primary key;
ERROR 1064: You have an error in your SQL syntax near '' at line 2
mysql> create table news (
    -> id int not null auto_increment primary key;,
ERROR 1064: You have an error in your SQL syntax near '' at line 2
mysql> create table news (
    -> id int not null auto_increment primary key,
    -> date date,
    -> header varchar(255),
    -> body text);
Query OK, 0 rows affected (0.01 sec)

mysql> show tables
    -> ;
+------------------+
| Tables_in_parser |
+------------------+
| news             |
+------------------+
1 row in set (0.00 sec)

mysql> describe news;
+--------+--------------+------+-----+---------+----------------+
| Field  | Type         | Null | Key | Default | Extra          |
+--------+--------------+------+-----+---------+----------------+
| id     | int(11)      |      | PRI | NULL    | auto_increment |
| date   | date         | YES  |     | NULL    |                |
| header | varchar(255) | YES  |     | NULL    |                |
| body   | text         | YES  |     | NULL    |                |
+--------+--------------+------+-----+---------+----------------+
4 rows in set (0.03 sec)

mysql> create user
    -> ;
ERROR 1064: You have an error in your SQL syntax near 'user' at line 1
mysql> use users
ERROR 1049: Unknown database 'users'
mysql> show databases
    -> ;
+---------------------+
| Database            |
+---------------------+
| af                  |
| mysql               |
| parser              |
| php                 |
| test                |
| tmp                 |
| traffic             |
| traffic1            |
| traffic_last        |
| traffic_preferences |
+---------------------+
10 rows in set (0.00 sec)

mysql> use mysql
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv    |
| db              |
| func            |
| host            |
| tables_priv     |
| user            |
+-----------------+
6 rows in set (0.02 sec)

mysql> describe user;
+-----------------+-----------------+------+-----+---------+-------+
| Field           | Type            | Null | Key | Default | Extra |
+-----------------+-----------------+------+-----+---------+-------+
| Host            | char(60) binary |      | PRI |         |       |
| User            | char(16) binary |      | PRI |         |       |
| Password        | char(16) binary |      |     |         |       |
| Select_priv     | enum('N','Y')   |      |     | N       |       |
| Insert_priv     | enum('N','Y')   |      |     | N       |       |
| Update_priv     | enum('N','Y')   |      |     | N       |       |
| Delete_priv     | enum('N','Y')   |      |     | N       |       |
| Create_priv     | enum('N','Y')   |      |     | N       |       |
| Drop_priv       | enum('N','Y')   |      |     | N       |       |
| Reload_priv     | enum('N','Y')   |      |     | N       |       |
| Shutdown_priv   | enum('N','Y')   |      |     | N       |       |
| Process_priv    | enum('N','Y')   |      |     | N       |       |
| File_priv       | enum('N','Y')   |      |     | N       |       |
| Grant_priv      | enum('N','Y')   |      |     | N       |       |
| References_priv | enum('N','Y')   |      |     | N       |       |
| Index_priv      | enum('N','Y')   |      |     | N       |       |
| Alter_priv      | enum('N','Y')   |      |     | N       |       |
+-----------------+-----------------+------+-----+---------+-------+
17 rows in set (0.00 sec)

mysql> select * from user;
+--------------+---------------+------------------+-------------+-------------+-
------------+-------------+-------------+-----------+-------------+-------------
--+--------------+-----------+------------+-----------------+------------+------
------+
| Host         | User          | Password         | Select_priv | Insert_priv |
Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_pri
v | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter
_priv |
+--------------+---------------+------------------+-------------+-------------+-
------------+-------------+-------------+-----------+-------------+-------------
--+--------------+-----------+------------+-----------------+------------+------
------+
| localhost    | root          | 778bd94408e8b85b | Y           | Y           |
Y           | Y           | Y           | Y         | Y           | Y
  | Y            | Y         | Y          | Y               | Y          | Y
      |
| pearl        | root          | 778bd94408e8b85b | Y           | Y           |
Y           | Y           | Y           | Y         | Y           | Y
  | Y            | Y         | Y          | Y               | Y          | Y
      |
| localhost    |               |                  | N           | N           |
N           | N           | N           | N         | N           | N
  | N            | N         | N          | N               | N          | N
      |
| pearl        |               |                  | N           | N           |
N           | N           | N           | N         | N           | N
  | N            | N         | N          | N               | N          | N
      |
| localhost    | traffic_admin | 67995f2f3426bf9c | N           | N           |
N           | N           | N           | N         | N           | N
  | N            | N         | N          | N               | N          | N
      |
| localhost    | traffic_user  | 5ded91962311cfb6 | N           | N           |
N           | N           | N           | N         | N           | N
  | N            | N         | N          | N               | N          | N
      |
| localhost    | php           | 78dd5d5527ff2ad0 | N           | N           |
N           | N           | N           | N         | N           | N
  | N            | N         | N          | N               | N          | N
      |
| 172.31.1.130 | php           | 78dd5d5527ff2ad0 | N           | N           |
N           | N           | N           | N         | N           | N
  | N            | N         | N          | N               | N          | N
      |
[root@pearl bin]#













auto.p              [B---]  1:  1+20= 21/120 - *719 /3143b= 10
#$Id: auto.p.dist.in,v 1.3.4.1 2002/08/02 11:43:18 paf Exp $

@conf[]
$charsetsdir[/usr/local/parser/etc/parser3.charsets]
$sqldriversdir[/usr/local/parser/lib]
<!-- proceeding BIG auto.p -->

$CHARSETS[
#    $.koi8-r[$charsetsdir/koi8-r.cfg]
#    $.windows-1250[$charsetsdir/windows-1250.cfg]
    $.windows-1251[$charsetsdir/windows-1251.cfg]
#    $.windows-1257[$charsetsdir/windows-1257.cfg]
]
#change your client libraries paths to those on your system
$SQL[
        $.drivers[^table::set{protocol  driver  client
mysql   $sqldriversdir/libparser3mysql.so       /usr/local/mysql/bin/mysql
pgsql   $sqldriversdir/libparser3pgsql.so       -configure could not guess-
oracle  $sqldriversdir/libparser3oracle.so      -configure could not guess-
}]
]
Строчку, которая выделена красным подбирали "на ощупь". Пробовали много вариантов, результат практически одинаковый.

Сейчас добились устойчивого результата: до тех пор, пока не идёт обращение к MySQL всё работает отлично, когда же встречается MySQL - вылетает 500-я ошибка, Internal Server Error.

Смотрим в логи Apache и видим:
6:13:13 2002] [error] [client 192.168.100.7] Premature end of script headers: /home/httpd/www/vniiftri.ru/cgi-bin/parser3.cgi

Кстати иногда добивались и такой ошибки (в логах):
4:30:43 2002] /admin/index.htmlp: ./auto.p(4): '/usr/local/parser/lib/libparser3mysql.so' driver failed to initialize client

Пожалуйста, помогите дельным советом!!! Какие параметры где указывать, надо ли при компиляции что-то делать по-другому???

Заранее спасибо!