# не запускается mysql

## devol

подскажите в чет может быть трабла.

есть установленный mysql 4.0.25-r2

но при попытке его запустить, вылазиет такого рода мессага

monkey mysql-4.0.25-r2 # /etc/init.d/mysql start

 * Starting mysqld (/etc/mysql/my.cnf) ...                                [ !! ]

monkey mysql-4.0.25-r2 #

хотя если просмотреть все запущенные процессы, то видно, что он запустилися

monkey mysql-4.0.25-r2 # ps aux | grep mysqld

root     26872  0.0  0.1   4388  1152 ?        Ss   03:45   0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql/my.cnf

mysql    26908  0.2  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26909  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26910  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26911  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26912  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26913  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26939  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26940  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26941  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26942  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

mysql    26943  0.0  1.8  97828 16940 ?        S    03:45   0:00 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock

root     26945  0.0  0.0   3740   528 pts/3    S+   03:46   0:00 grep mysqld

monkey mysql-4.0.25-r2 # 

в логе единственное, что появляется это

monkey mysql # cat mysqld.err 

050811  3:32:06  InnoDB: Database was not shut down normally.

InnoDB: Starting recovery from log files...

InnoDB: Starting log scan based on checkpoint at

InnoDB: log sequence number 0 43892

InnoDB: Doing recovery: scanned up to log sequence number 0 43892

050811  3:32:06  InnoDB: Flushing modified pages from the buffer pool...

050811  3:32:06  InnoDB: Started

/usr/sbin/mysqld: ready for connections.

Version: '4.0.25'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  Gentoo Linux mysql-4.0.25-r2

monkey mysql # cat mysql.err 

050811 03:32:06  mysqld started

monkey mysql #

конфига мускла самая стандартная

удаление всех бд, стартовых скриптов, переустановка mysql на более старшие версии проблему не решают

----------

## ManJak

Что говорит:

# file /etc/mysql/my.cnf

Может, файла этого нет?

Попробуй еще:

# strace /etc/init.d/mysql restart

----------

## devol

конфиг-файл точно есть, на другой машине точно такой же работает без проблем, да и к тому же в скрипте на запуск mysql стоит проверка на его наличие и проверку "орфографии"

а вывод strace тут

http://212.248.73.234/m.txt

----------

## ManJak

ERROR

The requested URL could not be retrieved

While trying to retrieve the URL: http://212.248.73.234/m.txt

The following error was encountered:

    * Access Denied.

      Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect. 

Your cache administrator is root

ЗЫ

А так, если его поглядеть на мысли не навело?

----------

## devol

поглядел, на мысли навело, но ничего поделать не смог, походу в rc-скриптах лажа какая-то, но как пофиксить не знаю

еще раз выкладвыю стрейс

http://devol.fopf.mipt.ru/tmp/m.txt

----------

## anonymouss

А у меня такой вопрос: хочу установить mysql используя свои настройки, т.е что-то вроде:

```
./configure \

--disable-shared \

--enable-assembler \

--with-thread-safe-client \

--with-mysqld-user="mysql" \

--with-client-ldflags=-all-static \

--with-mysqld-ldflags=-all-static \

--without-readline \

--without-debug \

--without-docs \

--without-bench \

--with-charset=cp1251 \

--with-extra-charsets=all

```

но вот не знаю как указать это, если устанавливать "стандартно" emerge mysql. Как можно прописать эти настройки, чтобы программа   собиралась с этими настройками?

----------

## devol

Насколько мне известно просто так добавить какие-либо опции к configure, отличные от тех, что указаны в USE нельзя. Первое что приходит в голову так это немного поработать над /usr/bin/emerge, так чтобы все действия: создания дерева директорий в /var/tmp/portage, последующее исполнение кинфигурационного скрипта, компилирования и т.д. - можно было выполнять пошагово, тогда можно будет просто после создания директории /var/tmp/portage/mysql-*, вручную выполнить configure и дальше пустить emerge уже по протоптанной дороге.

----------

## IFL

```
--disable-shared \

--with-mysqld-ldflags=-all-static \

--without-readline \

--without-debug \

--without-docs

```

для этого есть USE флаги

```
--with-mysqld-user=mysql \

--enable-assembler \

--enable-thread-safe-client
```

по умолчанию стоит

```
--with-extra-charsets=all
```

если нет USE="minimal", то по умолчанию

```
--without-bench
```

USE="minimal" or USE="-perl"

```
--with-charset=cp1251
```

эээ, в my.cnf потом поправишь... хотя советую юзать utf8

остальное -- а больше почти ничего и нет, если и критично, то либо модифицируем ручками ebuild, либо курим man 1 ebuild

p.s.: читайте handbook, включайте мозхи

----------

## ba

 *IFL wrote:*   

> 
> 
> ```
> --with-charset=cp1251
> ```
> ...

 

для mysql-4.1 это нельзя изменить в my.cnf

точнее этой опцией также задается кодировка, в которой считается что работает клиент не указавший своей кодировки при коннекте(php не умеет например) и ее нельзя задать в my.cnf.

----------

## IFL

 *ba wrote:*   

> 
> 
> точнее этой опцией также задается кодировка, в которой считается что работает клиент не указавший своей кодировки при коннекте(php не умеет например) и ее нельзя задать в my.cnf.

 

а это уже проблема клиента

а задать -- можно

----------

## ba

 *IFL wrote:*   

>  *ba wrote:*   
> 
> точнее этой опцией также задается кодировка, в которой считается что работает клиент не указавший своей кодировки при коннекте(php не умеет например) и ее нельзя задать в my.cnf. 
> 
> а это уже проблема клиента
> ...

 

согласен, но ломать совместимость со старыми клиентами это неправильно... к тому же php не спешит включить в себя эту фичу...

 *IFL wrote:*   

> а задать -- можно

 

можно-то можно, но извратным способом и оно для рута работать не будет...

----------

## fank

это из man 5 ebuild

 *Quote:*   

> Note that the EXTRA_ECONF is for users only, not for ebuild writers.  If you wish  to  pass  more options to configure, just pass the extra arguements to econf.

 

----------

## devol

люди, лучше бы в этом треде на вопрос ответили((

----------

## devol

баг был в runscript'e, в частности в строчках

```

   while ! [[ -S "${socket}" || "${maxtry}" -lt "1" || "${retstatus}" -gt "0" ]] ; do

      maxtry=$(($maxtry-1))

      echo -n "."

      sleep 1

   done

   ! [[ -S "${socket}" ]] && eerror "MySQL NOT started, proceding anyway"

```

в чем тут может быть запарка? почему скрипт запуска мускла может тут запарываться?

----------

## IFL

 *devol wrote:*   

> баг был в runscript'e, в частности в строчках
> 
> ```
> 
>    while ! [[ -S "${socket}" || "${maxtry}" -lt "1" || "${retstatus}" -gt "0" ]] ; do
> ...

 

хороший баг  :Very Happy: 

запускай ручками, посмотришь что там такое... и увидишь баг...

----------

