Кажется у меня два MySQL установлено, один с RH, видать, поставился и не работал почемуто, а второй я из .rpm пакета поставил...
Теперь не могу запустить ни тот не другой :(!!!Запускал
[root@server root]# /usr/bin/mysql_install_db!!!Запускаю:
[root@server root]# /usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!!!! При этом в логах пошется:
041027 17:56:21 mysqld started
041027 17:56:21 Can't start server : Bind on unix socket: Permission denied
041027 17:56:21 Do you already have another mysqld server running on socket: /usr/local/mysql/tmp/mysql.sock ?
041027 17:56:21 Aborting041027 17:56:21 /usr/libexec/mysqld: Shutdown Complete
041027 17:56:21 mysqld ended
!!!В загрузке вот что:
[root@server root]# vi /etc/init.d/mysqld
# config: /etc/my.cnf
# pidfile: /var/run/mysqld/mysqld.pid# Source function library.
. /etc/rc.d/init.d/functions# Source networking configuration.
. /etc/sysconfig/network
prog="MySQL"datadir="/var/lib/mysql"
start(){
touch /var/log/mysqld.log
chown mysql.mysql /var/log/mysqld.log
chmod 0640 /var/log/mysqld.log
if [ ! -d $datadir/mysql ] ; then
action $"Initializing MySQL database: " /usr/bin/mysql_install_db
ret=$?
chown -R mysql.mysql $datadir
if [ $ret -ne 0 ] ; then
return $ret
fi
fi
chown -R mysql.mysql $datadir
chmod 0755 $datadir
/usr/bin/safe_mysqld --defaults-file=/etc/my.cnf >/dev/null 2>&1 &
ret=$?
if [ $ret -eq 0 ]; then
action $"Starting $prog: " /bin/true
else
action $"Starting $prog: " /bin/false
fi
[ $ret -eq 0 ] && touch /var/lock/subsys/mysqld
return $ret
}stop(){
/bin/kill `cat /var/run/mysqld/mysqld.pid 2> /dev/null ` > /dev/null 2>&1
ret=$?
if [ $ret -eq 0 ]; then
action $"Stopping $prog: " /bin/true
else
action $"Stopping $prog: " /bin/false
fi
[ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld
[ $ret -eq 0 ] && rm -f $datadir/mysql.sock
return $ret
}restart(){
stop
start
}condrestart(){
[ -e /var/lock/subsys/mysqld ] && restart || :
}# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status mysqld
;;
restart)
restart
;;
condrestart)
condrestart
;;
*)
echo $"Usage: $0 {start|stop|status|condrestart|restart}"
exit 1
esacexit $?
Помогите, пожалуйста направте на путь истинный, а то уже столько времени бъюсь :(
посмотреть ps aux - список системных процессов.
лучше даже так ps aux |grep mysql
потом (можно даже сразу) killall mysql (несколько раз)
потом запускаешь mysql и после это - должно все работать
>посмотреть ps aux - список системных процессов.
>лучше даже так ps aux |grep mysql
Нету его:
[root@server root]# ps aux |grep mysql
root 13934 0.0 0.1 3640 684 pts/0 S 11:22 0:00 grep mysql
>потом (можно даже сразу) killall mysql (несколько раз)
если его нету, то и прибить нечего :(
[root@server root]# killall mysql
mysql: no process killed
[root@server root]# killall mysql
mysql: no process killed
...
>потом запускаешь mysql и после это - должно все работать
Вопрос, хороший, как его запустить, чтобы он запустился?
Я запускаю так и чтобы это могло значить, запускаю подряд:
#
[root@server root]# /etc/init.d/mysqld start
Запускается MySQL: [ ОК ]
#
[root@server root]# ps aux |grep mysql
root 14079 0.0 0.1 3636 680 pts/0 S 11:28 0:00 grep mysql
#
[root@server root]# /etc/init.d/mysqld restart
Останавливается MySQL: [ СБОЙ ]
Запускается MySQL: [ ОК ]
Кажется, короче, что тот который в /etc/init.d/mysql - запускает нетот mysql ваще :( или что тогда запускается и пишет [OК]?
причну вижу в том, что нет файла mysql.sock, который должен быть в datadir="/var/lib/mysql"
да, я его, вообще, нигде на сервере найти немогу :(
Как его создать то?
Почему он через /usr/bin/mysql_install_db не создается?
В общем одни вопросы, на которые не могу, пока, найти ответов.
HELP!
>причну вижу в том, что нет файла mysql.sock, который должен быть в
>datadir="/var/lib/mysql"
>да, я его, вообще, нигде на сервере найти немогу :(
>Как его создать то?
>Почему он через /usr/bin/mysql_install_db не создается?
Это локальный сокет который создает демон после запуска, в нормальных
условиях он существует, только тогда, когда демон запущен.
>причну вижу в том, что нет файла mysql.sock, который должен быть в
>datadir="/var/lib/mysql"
>да, я его, вообще, нигде на сервере найти немогу :(
>Как его создать то?
>Почему он через /usr/bin/mysql_install_db не создается?
>В общем одни вопросы, на которые не могу, пока, найти ответов.
>HELP!datadir="/var/lib/mysql" - это прописывается в php ini
>Кажется у меня два MySQL установлено, один с RH, видать, поставился и
>не работал почемуто, а второй я из .rpm пакета поставил...
Зачем же вы это сделали (странно что это у вас получилось)? Попробуйте удалить оба (rpm -e) и установить какой-то один - должно помочь.
>041027 17:56:21 Can't start server : Bind on unix socket: Permission
>denied
>041027 17:56:21 Do you already have another mysqld server running on
>socket: /usr/local/mysql/tmp/mysql.sock ?
/usr/local/ - не типично для rpm пакетов. У вас есть каталог
/usr/local/mysql/tmp в системе?
>>Кажется у меня два MySQL установлено, один с RH, видать, поставился и
>>не работал почемуто, а второй я из .rpm пакета поставил...
>Зачем же вы это сделали (странно что это у вас получилось)? Попробуйте
>удалить оба (rpm -e) и установить какой-то один - должно помочь.
Я готов уже снести mysql, тока не пойму чего удалять то? И как?>
>/usr/local/ - не типично для rpm пакетов. У вас есть каталог
>/usr/local/mysql/tmp в системе?
Да есть, он пустой
>Я готов уже снести mysql, тока не пойму чего удалять то? И
>как?
покажите "rpm -qa|grep -i mysql">>
>>/usr/local/ - не типично для rpm пакетов. У вас есть каталог
>>/usr/local/mysql/tmp в системе?
>Да есть, он пустой
Проверьте что у юзера от которого пускаете mysql есть права на запись в этот
каталог.
>покажите "rpm -qa|grep -i mysql"
# rpm -qa|grep -i mysql
mysql-3.23.58-1.9
mod_auth_mysql-1.11-12
perl-DBD-MySQL-2.1021-3
mysql-server-3.23.58-1.9
>Проверьте что у юзера от которого пускаете mysql есть права на запись
>в этот каталог.
а какой каталог то? Это?# ls -l /var/lib/mysql
итого 20556
-rw-rw---- 1 mysql mysql 25088 Июн 25 15:29 ib_arch_log_0000000000
-rw-rw---- 1 mysql mysql 10485760 Июн 28 15:18 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Июн 28 15:18 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Июн 25 15:29 ib_logfile1
drwx------ 2 mysql mysql 4096 Июн 23 12:39 mysql
drwx------ 2 mysql mysql 4096 Июн 23 12:39 test
># rpm -qa|grep -i mysql
>mysql-3.23.58-1.9
>mod_auth_mysql-1.11-12
>perl-DBD-MySQL-2.1021-3
>mysql-server-3.23.58-1.9
У вас один mysql в системе...
Вы точно не ставили не чего руками?Вот ваш лог:
>/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket >'/var/lib/mysql/mysql.sock' (2)
Видите: mysqladmin ищет сокет в '/var/lib/mysql/mysql.sock'>041027 17:56:21 Do you already have another mysqld server running on socket: /usr/local/mysql/tmp/mysql.sock ?
А демон пытается создать сокет в /usr/local/mysql/tmp/
Очень похоже на разные сборки...>а какой каталог то? Это?
Нет, /usr/local/mysql/tmp/И заодно /etc/my.cnf покажите.
>># rpm -qa|grep -i mysql
>>mysql-3.23.58-1.9
>>mod_auth_mysql-1.11-12
>>perl-DBD-MySQL-2.1021-3
>>mysql-server-3.23.58-1.9
>У вас один mysql в системе...
>Вы точно не ставили не чего руками?
Руками пробовал поставить, вот в хистори ща гляжу, вот, как дело было:
...
cd /tmp/distr/mysql-4.0.20
./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql
make
make install
mkdir /usr/local/mysql/var
...rpm -ihv MySQL-server-4.0.20-0.i386.rpm
...
cd /tmp/distr
ls
cd mysql-4.0.20
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-mysqld-user=mysql --disable-large-files --without-debug --with-charset=cp1251 --with-extra-charsets=all --with-berkeley-db
make && make install
...
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-mysqld-user=mysql --disable-large-files --with-charset=cp1251 --with-extra-charsets=all
tar -zxvf mysql-4.0.20.tar.gz
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-mysqld-user=mysql --disable-large-files --with-charset=cp1251 --with-extra-charsets=all
cd mysql-4.0.20
./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --with-mysqld-user=mysql --disable-large-files --with-charset=cp1251 --with-extra-charsets=all
...
В общем накуралесил неслабо :(
>
>Вот ваш лог:
>>/usr/bin/mysqladmin: connect to server at 'localhost' failed
>error: 'Can't connect to local MySQL server through socket >'/var/lib/mysql/mysql.sock' (2)
>Видите: mysqladmin ищет сокет в '/var/lib/mysql/mysql.sock'
>
>>041027 17:56:21 Do you already have another mysqld server running on socket: /usr/local/mysql/tmp/mysql.sock ?
>А демон пытается создать сокет в /usr/local/mysql/tmp/
>Очень похоже на разные сборки...
Ну так и есть :(>
>>а какой каталог то? Это?
>Нет, /usr/local/mysql/tmp/
# ls -l /usr/local/mysql
итого 44
drwxr-xr-x 2 root root 4096 Июн 28 15:02 bin
drwxr-xr-x 3 root root 4096 Июн 23 11:53 include
drwxr-xr-x 2 root root 4096 Июн 28 15:02 info
drwxr-xr-x 3 root root 4096 Июн 23 11:53 lib
drwxr-xr-x 2 root root 4096 Июн 28 15:02 libexec
drwxr-xr-x 3 root root 4096 Июн 23 11:53 man
drwxr-xr-x 6 root root 4096 Июн 28 15:02 mysql-test
drwxr-xr-x 3 root root 4096 Июн 23 11:53 share
drwxr-xr-x 5 root root 4096 Июн 28 15:02 sql-bench
drwxr-xr-x 2 root root 4096 Окт 4 17:52 tmp
drwxr-xr-x 2 mysql mysql 4096 Июн 28 14:53 var
>И заодно /etc/my.cnf покажите.
[mysqld]
datadir=/var/lib/mysql
socket=/usr/local/mysql/tmp/mysql.sock
default-character-set=cp1251[mysql.server]
user=mysql
basedir=/var/lib[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
>>Вы точно не ставили не чего руками?
>Руками пробовал поставить, вот в хистори ща гляжу, вот, как дело было:
Ну теперь наводите порядок... У вас демон собранный руками а клиент
(покрайней мере mysqladmin из rpm) - это помойка.>В общем накуралесил неслабо :(
Да уж...>>Очень похоже на разные сборки...
>Ну так и есть :(
Выберете что то одно - штатные пакеты/ваша сборка.># ls -l /usr/local/mysql
>drwxr-xr-x 2 root root 4096 Окт 4 17:52 tmp
Вы видете, что собранный вами mysqld(юзер mysql) не имеет прав на запись в
этот каталог?
>>>Вы точно не ставили не чего руками?
>>Руками пробовал поставить, вот в хистори ща гляжу, вот, как дело было:
>Ну теперь наводите порядок... У вас демон собранный руками а клиент
>(покрайней мере mysqladmin из rpm) - это помойка.
А что, можно порекомедовать?>>>Очень похоже на разные сборки...
>>Ну так и есть :(
>Выберете что то одно - штатные пакеты/ваша сборка.
Я бы вообще вычестил mysql до нуля и потом установил через atp-get (е его установил на RH) Хочица порядок навести!>
>># ls -l /usr/local/mysql
>>drwxr-xr-x 2 root root 4096 Окт 4 17:52 tmp
>Вы видете, что собранный вами mysqld(юзер mysql) не имеет прав на запись
>в этот каталог?
OK, исправил:
#chown -R mysql /usr/local/mysql/tmp
#chgrp -R mysql /usr/local/mysql/tmp
#
# ls -l /usr/local/mysql
итого 44
drwxr-xr-x 2 root root 4096 Июн 28 15:02 bin
drwxr-xr-x 3 root root 4096 Июн 23 11:53 include
drwxr-xr-x 2 root root 4096 Июн 28 15:02 info
drwxr-xr-x 3 root root 4096 Июн 23 11:53 lib
drwxr-xr-x 2 root root 4096 Июн 28 15:02 libexec
drwxr-xr-x 3 root root 4096 Июн 23 11:53 man
drwxr-xr-x 6 root root 4096 Июн 28 15:02 mysql-test
drwxr-xr-x 3 root root 4096 Июн 23 11:53 share
drwxr-xr-x 5 root root 4096 Июн 28 15:02 sql-bench
drwxr-xr-x 2 mysql mysql 4096 Окт 4 17:52 tmp
drwxr-xr-x 2 mysql mysql 4096 Июн 28 14:53 varА на другие каталоги тоже нужно задать mysql/mysql или можно оставить рута?
>А что, можно порекомедовать?
>Я бы вообще вычестил mysql до нуля и потом установил через atp-get
>(е его установил на RH) Хочица порядок навести!
Вот и сделайте это...>А на другие каталоги тоже нужно задать mysql/mysql или можно оставить рута?
Можно оставить.
>>А что, можно порекомедовать?
>>Я бы вообще вычестил mysql до нуля и потом установил через atp-get
>>(е его установил на RH) Хочица порядок навести!
>Вот и сделайте это...
А как это лучше сделать то? Вот в чем вопрос :)>># ls -l /usr/local/mysql
>>drwxr-xr-x 2 root root 4096 Окт 4 17:52 tmp
>Вы видете, что собранный вами mysqld(юзер mysql) не имеет прав на запись
>в этот каталог?
Подправил права и:
# /etc/init.d/mysqld start
Запускается MySQL: [ ОК ]
#
# ps aux |grep mysql
root 14546 0.0 0.2 4160 1104 pts/0 S 13:25 0:00 /bin/sh /usr/bin/safe_mysqld --defaults-file=/etc/my.cnf
mysql 14571 0.0 0.4 13920 2172 pts/0 S 13:25 0:00 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking
root 14574 0.0 0.1 3640 680 pts/0 S 13:31 0:00 grep mysqlНо с mysqladmin вопрос не решился. Его удалить? Если да то как поставить потом?
Штатными средствами - для вас это наверное apt. (У меня не RH и нет apt)>Но с mysqladmin вопрос не решился. Его удалить? Если да то как
>поставить потом?
А попробуйте запустить его с указанием полного пути /usr/local/mysql/...
Должен заработать :)Но лучше все удалить. И поставить "штатную" версию...
>Но лучше все удалить. И поставить "штатную" версию...
Похоже...
Неа, не заработал нормально.unk, спасибо, большое за советы, вроде МуСКуЛ запустился только работает криво, не получается ни юзера завести ни пароль рута задать... в общем, похоже сносить нужно МуСКУЛ. Но это уже другая тема :(