Ошибка при останове mysql

Не мог остановить mysql,
решение:
1) запускаем в режиме побробного лога
sh -x /etc/init.d/mysql stop
2) нашел ошибку:
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'
3) Берем пароль mcedit /etc/mysql/debian.cnf &
4) и даем полные привелегии debian-sys-maint
mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'пароль' WITH GRANT OPTION;
5) работает!

# /etc/init.d/mysql stop
Stopping MySQL database server: mysqld

Решение скопировано отсюда.

[ ]
 

SHOW DATABASES

SELECT * FROM pg_database

SHOW TABLES

SELECT * FROM information_schema.tables

SHOW COLUMNS

SELECT * FROM information_schema.columns WHERE table_name ='table'

Спасибо Artem Nosulchik, копия его поста ниже:

PostgreSQL is one of the best database engines for an average web project and many who moves to psql from mysql (for example) often ask the following questions: what is the analog of “show tables” in postgres? or how can I get the list of databases in postgres like “show databases” in mysql? The answers are short:

mysql: SHOW TABLES
postgresql: \d
postgresql: SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';

mysql: SHOW DATABASES
postgresql: \l
postgresql: SELECT datname FROM pg_database;

mysql: SHOW COLUMNS
postgresql: \d table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';

mysql: DESCRIBE TABLE
postgresql: \d+ table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';

[ ]
 

Имеем таблицу, в которой строки ссылаются друг на друга по pid, либо вообще не ссылаются никак (pid=null). Делаем запрос:

SELECT *
FROM `tasks`
WHERE `tasks`.`id` NOT IN (SELECT DISTINCT `pid` FROM `tasks`)

Результат запроса: хуй (0 строк). При этом, результат противоречит здравому смыслу, потомучто данные в таблице есть и только начали вноситься, а сводится он еще более простому запросу:

SELECT *
FROM `tasks`
WHERE `tasks`.`id` NOT IN (496,NULL)

Упрощаем запрос до минимального

SELECT *
FROM `tasks`
WHERE `tasks`.`id` NOT IN (NULL)

Результат запроса: хуй (0 строк). Пишем:

EXPLAIN SELECT *
FROM `tasks`
WHERE `tasks`.`id` NOT IN (NULL)

Получаем:

Array ( [id] => 1 [select_type] => SIMPLE [table] => [type] => [possible_keys] => [key] => [key_len] => [ref] => [rows] => [Extra] => Impossible WHERE noticed after reading const tables )


Теперь необходимо переписать сраные 50 запросов, каджый из которых довольно сложен и в нужных местах повставлять OR IS NULL и OR IS NOT NULL, потомучто раньше вместо NULL был объект-костыль с ID=-1.

UPD:

Ха. Ха. Ха. Пехепе меня решило добить. Данные в выборке есть, а в результате - нет. Ну, об этом гениальном быдлопассаже я уже писал.