>Уважаемые,
>
>установил вот MySQL на Linux Mandriva, поднял сервис, все запустилось без ошибок:
>
>060309 11:51:11 mysqld started
>060309 11:51:12 InnoDB: Started; log sequence number 0 43634
>/usr/sbin/mysqld: ready for connections.
>Version: '4.1.11' socket: '/var/lib/mysql/mysql.sock' port: 0 Source distribution
>___________________________________
>
>Но к сожалению, подключиться к СУБД по TCP не удается... Вот что
>пишут логи:
>[root@server mail]# mysql -u root -h 127.0.0.1 -P 3306 -p
>Enter password:
>ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
>___________________________________
>
>Соответственно, по соккету коннектится нормально:
>
>[root@server mail]# mysql -u root -p
>Enter password:
>Welcome to the MySQL monitor. Commands end with ; or \g.
>
>Your MySQL connection id is 2 to server version: 4.1.11
>
>Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
>
>mysql>
>
>Общая информация, так сказать:
>[root@server mail]# netstat -ln | grep mysql
>unix 2 [ ACC ]
> STREAM LISTENING
> 1440424 /var/lib/mysql/mysql.sock
>___________________________________
>
>И еще.. читал про 2003 ошибку на Mysql сайте, пишут что нужно
>добавить в hosts.allow
>mysqld: 127.0.0.1
>сделал - но не помогло.
>Пожалуйста, если сталкивались с этой проблемой, помогите пожалуйста!!!
>
>С Уважением,
>Константин. для того чтобы коннектиться с определенного хоста администратором, надо выдать
GRANT этому hostname чтобы с него работать с той или иной базой под тем или иным
пользователем, общий формат:
GRANT ALL PRIVILEGES ON *.* TO username@host.domain IDENTIFIED BY 'password' WITH GRANT OPTION;
в документации по MySQL это есть, как и то что можно в качестве match для host.domain
использовать %
Ну а все остальное: firewall и tcp-wrappers легко проверяются обычным telnet'ом
на порт 3306, ну или lsof - на каких интерфейсах, ip - mysql слушает порт 3306/tcp
и слушает ли вообще.
[alone]~ > lsof -i TCP | grep 3306
lsof: WARNING: compiled for FreeBSD release 6.0-RELEASE; this is 6.0-RELEASE-p2.
mysqld 705 mysql 3u IPv4 0xc1a5f1cc 0t0 TCP *:3306 (LISTEN)
mysqld 705 mysql 3u IPv4 0xc1a5f1cc 0t0 TCP *:3306 (LISTEN)
mysqld 705 mysql 3u IPv4 0xc1a5f1cc 0t0 TCP *:3306 (LISTEN)
mysqld 705 mysql 3u IPv4 0xc1a5f1cc 0t0 TCP *:3306 (LISTEN)
mysqld 705 mysql 3u IPv4 0xc1a5f1cc 0t0 TCP *:3306 (LISTEN)
[alone]~ >
верхнее говорит о том что mysqld открыл порт 3306 на всех(*) интерфейсах
или элементарный telnet на порт 3306 локального хоста, если дал соединиться, то
с FIREWALL и TCP-WRAPPERS все ХОККЕЙ и нужно выдать GRANT.
[alone]~ > telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
8
4.1.15-log{|}!&9.w,╒1-/A;B{ejb.Z^CConnection closed by foreign host.
[alone]~ >