PDA

Просмотр полной версии : Установка Mysql. Проблема.


Ershik
03.01.2008, 21:05
Решил поставить себе сервер на Пингвина.
Установил apache, проверил nmap - 80 порт открыт.
Установил php. Набрал в консоли php --version - Вывел версию.
Все работает. Ставлю Mysql
Начались проблемы
Когда установил mysql и набрал в командой строке mysql вывел следующее:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Не может соединиться с сокетом по адресу /tmp/mysql.sock...
Гм...создал сначала файл, а затем и папку. Не помогло.
Заглянул в документацию.
If you are using Unix and you want the MySQL socket file location to be somewhere other than the default location (normally in the directory `/tmp' or `/var/run'), use a `configure' command like this: shell> ./configure \ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock The socket filename must be an absolute pathname. You can also change the location of `mysql.sock' at server startup by using a MySQL option file. See *Note problems-with-mysql-sock::.

То есть сделал я все как надо. Сконфигурировал с помощью
./configure \ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
Но пользы это не принесло...

MicRO
03.01.2008, 21:12
на какую ось сейчас mysql руками собирают? Ж)
и когда пишешь mysql у тя запускается клиент а не сервер :) пали маны как инициализировать базу и задать начальный пароль а потом man mysql и смотри строку про соксы как указать где они будут.
в 2 словах запусти сначала mysql сервер Ж)

MicRO
03.01.2008, 21:15
mysql_install_db для начала запусти [типа подсказал Ж)]

Ershik
03.01.2008, 21:26
Запустил.
Нарисовал
[root@localhost mysql]# '/usr/local/mysql/bin/mysql_install_db'
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/mysql/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[1]+ Done /usr/local/mysql/bin/mysqld_safe

Вывел строку
/usr/local/mysql/bin/mysqladmin -u root password 'password'
Ответил
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!

То есть он настройчиво требует соединения...

С
/usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password' Проделано тоже самое.
Эффект тот же.
/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost.localdomain' failed error: 'Lost connection to MySQL server at 'reading initial communication packet', system error: 111'

MicRO
03.01.2008, 21:29
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
видишь?
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
нахрена спрашивается писал :) грюже терь маны и опцию за соксы отвечающюю ищи или пересобирай заного

Ershik
03.01.2008, 21:50
Пересоберу.
Конфигурировать типа
./configure --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock?

Если да, то configure & make & make install займет около полтора часов(комп древний) Спрашиваю, чтобы время зря не убить :)

Ky3bMu4
03.01.2008, 21:52
Ничё не пересобирай.

in /etc/rc.conf(freebsd) ; /etc/rc.local(linux)

mysql_enable="YES"

/usr/local/mysql/bin/mysqld_safe & - for old versions.

zyl
03.01.2008, 22:30
Ershik, ты просто запускаешь клиент без сервера, вот он и пишет, что невозможно открыть сокет. Установи себе mysql_server и mysql_devel, к дополнению мускулю. какая ОС у вас?

Ershik
03.01.2008, 22:34
Директория /etc/rc.local отсутствует. ASP linux 11.2
Значит, пересобирать не надо?

Ky3bMu4
03.01.2008, 22:36
/etc/rc.local это не директория, это файл. Ну если его нет, то /etc/rc.d/rc.local. Просто под рукой линуха нет.

MicRO
03.01.2008, 22:57
2Ky3bMu4
Читай внимательно мой пост, я говорю не про загрузку mysql
2Ёршик
если линь сделай lsof | grep mysql если бсд sockstat | grep mysql и покажи где у тебя лежат соксы если не хочишь парится пересобери с ./configure --with-unix-socket-path=/tmp/mysql.sock

Ershik
03.01.2008, 23:01
zyl, О.С.
ASP linux 11.2
Все же, я попробую пересобрать.

MicRO
03.01.2008, 23:06
/usr/local/bin/mysqld_safe --defaults-extra-file=/etc/my3406.cnf --user=mysql --datadir=/var/db/mysql3406 --pid-file=/var/db/mysql3406/mysql3406.pid &
у меня 2 инстанса mysql один запускаю стандартно второй так в скриптике run.sh храню
# sockstat | grep mysqld
mysql mysqld 95433 13 tcp4 *:3304 *:*
mysql mysqld 95433 14 stream /tmp/mysql.sock
вот он 1 запущеный

zyl
03.01.2008, 23:25
Таки если у тебя ASP linux 11.2, устанавливай с репозиториев(пакетов RPM), меньше геммора и мусора, и оптимизированно.
_ftp://ftp.asplinux.ru/pub

Ershik
03.01.2008, 23:29
Спасибо.
Не люблю пакеты. Хочу понять суть установки, установить, настроить, оптимизировать.
Я бы не мучался и сразу поставил :) Но опять же, пакеты это не мое :)

MicRO
03.01.2008, 23:36
/me тут подумал и решил написать статью как поднять 2 инста mysql и прибить их к phpmyadmin'y + .htaccess соответственно )
работа 15 минут: Ж)
http://forum.antichat.ru/thread57285.html

Ershik
04.01.2008, 12:03
Пересобрал - то же самое.
Попробую тогда собрать из пакета.

Ky3bMu4
04.01.2008, 18:26
'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'

Млин, да просто у тебя сам сервак незапущен. mysqld_safe & или mysql_enable="YES" в rc.d файлах. Даже при стандартной конфигурации мускул-сервера это должно работать. Там же тебе даже написали:

You can start the MySQL daemon with:
cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

А ты сразу:

/usr/local/mysql/bin/mysqladmin -u root password 'password'

MicRO
04.01.2008, 21:27
2Кузьмич, смотри что ему пишет после инициализации
скорее всего просто тупо не там сокс лежит, ведь он вывод команды так и не показал :(

T0p
06.01.2008, 00:05
/usr/local/bin/mysqld stop
cat 1 > /tmp/mysql.sock
chown mysql /tmp/mysql.sock
chgrp mysql /tmp/mysql.sock

/usr/local/bin/mysqld start

ну и можно my.cnf подправить чтобы не сокет а порт заюзать :) если с сокетами дела не складываются.

Ershik
06.01.2008, 10:45
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe &
[1] 3186
[root@localhost mysql]# Starting mysqld daemon with databases from /usr/local/mysql/var
STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.pid
071230 12:20:48 mysqld ended

Сокет лежит там.
Вывод комманды.

Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
count 0
force FALSE
compress FALSE
character-sets-dir (No default value)
default-character-set (No default value)
host (No default value)
port 3306
relative FALSE
socket /tmp/mysql.sock
sleep 0
user (No default value)
verbose FALSE
vertical FALSE
connect_timeout 43200
shutdown_timeout 3600

MicRO
07.01.2008, 16:30
ps axu | grep mysqld
если нету там после запуска...
chown -R mysql:wheel /usr/local/mysql/var/
chmod -R 700 /usr/local/mysql/var/
и запускай
если не помогло смотри и показывай нам /var/message