LINUX.ORG.RU
ФорумAdmin

Помогите с MYSQL


0

2

Доброго времни суток. Помогите запустить MYSQL, когда я ввожу service mysql start, оно мне пишет: [FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

Логи мускула пустые а в логе запуска демонов выдает ето:

Oct 21 01:14:24 debian /etc/init.d/mysql[16895]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'

Oct 21 01:14:24 debian /etc/init.d/mysql[16895]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!

в интернете много чего нашол но ниче не помогло так как файл mysqld.sock у меня отсутствует полностью find / -type s его не нашла, кстати у меня сечас стоит Дебиан 7.

Заранее благодарен за помощь.



Последнее исправление: nenych (всего исправлений: 1)
Ответ на: комментарий от TERRANZ

Установил такой командой: aptitude install mysql-server mysql-client

nenych
() автор топика

Хм. В дебе такого обычно не бывает. Выкладывай куда-нибудь выводы следующих комман:

sudo /etc/init.d/mysql stop ; sudo /etc/init.d/mysql start ; sudo tail -66 /var/log/daemon.log

(можно без sudo'в если ты под root'ом)

ls -la /run/mysqld/

и

cat /etc/init.d/mysql
anonymous
()
Ответ на: комментарий от anonymous

sudo tail -66 /var/log/daemon.log после первых 2 команд:

Oct 21 02:00:20 debian mysqld_safe: Starting mysqld daemon with databases from /var/lib/mysql Oct 21 02:00:20 debian mysqld: 131021 2:00:20 [Note] Plugin 'FEDERATED' is disabled. Oct 21 02:00:20 debian mysqld: 131021 2:00:20 InnoDB: The InnoDB memory heap is disabled Oct 21 02:00:20 debian mysqld: 131021 2:00:20 InnoDB: Mutexes and rw_locks use GCC atomic builtins Oct 21 02:00:20 debian mysqld: 131021 2:00:20 InnoDB: Compressed tables use zlib 1.2.7 Oct 21 02:00:20 debian mysqld: 131021 2:00:20 InnoDB: Using Linux native AIO Oct 21 02:00:20 debian mysqld: 131021 2:00:20 InnoDB: Initializing buffer pool, size = 128.0M Oct 21 02:00:20 debian mysqld: 131021 2:00:20 InnoDB: Completed initialization of buffer pool Oct 21 02:00:20 debian mysqld: 131021 2:00:20 InnoDB: highest supported file format is Barracuda. Oct 21 02:00:21 debian mysqld: 131021 2:00:21 InnoDB: Waiting for the background threads to start Oct 21 02:00:22 debian mysqld: 131021 2:00:22 InnoDB: 5.5.31 started; log sequence number 1595675 Oct 21 02:00:22 debian mysqld: 131021 2:00:22 [Note] Server hostname (bind-address): 'localhost'; port: 3306 Oct 21 02:00:22 debian mysqld: 131021 2:00:22 [Note] - 'localhost' resolves to '127.0.0.1'; Oct 21 02:00:22 debian mysqld: 131021 2:00:22 [Note] - 'localhost' resolves to '::1'; Oct 21 02:00:22 debian mysqld: 131021 2:00:22 [Note] Server socket created on IP: '127.0.0.1'. Oct 21 02:00:22 debian mysqld: 131021 2:00:22 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address Oct 21 02:00:22 debian mysqld: 131021 2:00:22 [ERROR] Do you already have another mysqld server running on port: 3306 ? Oct 21 02:00:22 debian mysqld: 131021 2:00:22 [ERROR] Aborting Oct 21 02:00:22 debian mysqld: Oct 21 02:00:22 debian mysqld: 131021 2:00:22 InnoDB: Starting shutdown... Oct 21 02:00:23 debian mysqld: 131021 2:00:23 InnoDB: Shutdown completed; log sequence number 1595675 Oct 21 02:00:23 debian mysqld: 131021 2:00:23 [Note] /usr/sbin/mysqld: Shutdown complete Oct 21 02:00:23 debian mysqld: Oct 21 02:00:23 debian mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended Oct 21 02:00:35 debian /etc/init.d/mysql[8070]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in Oct 21 02:00:35 debian /etc/init.d/mysql[8070]: #007/usr/bin/mysqladmin: connect to server at 'localhost' failed Oct 21 02:00:35 debian /etc/init.d/mysql[8070]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' Oct 21 02:00:35 debian /etc/init.d/mysql[8070]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists! Oct 21 02:00:35 debian /etc/init.d/mysql[8070]:

root@debian:~# ls -la /run/mysqld/ total 0 drwxr-xr-x 2 mysql root 40 Oct 21 01:52 . drwxr-xr-x 16 root root 660 Oct 21 01:52 ..

nenych
() автор топика
Ответ на: комментарий от anonymous

root@debian:~# cat /etc/init.d/mysql #!/bin/bash # ### BEGIN INIT INFO # Provides: mysql # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Should-Start: $network $time # Should-Stop: $network $time # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start and stop the mysql database server daemon # Description: Controls the main MySQL database server daemon «mysqld» # and its wrapper script «mysqld_safe». ### END INIT INFO # set -e set -u ${DEBIAN_SCRIPT_DEBUG:+ set -v -x}

test -x /usr/bin/mysqld_safe || exit 0

. /lib/lsb/init-functions

SELF=$(cd $(dirname $0); pwd -P)/$(basename $0) CONF=/etc/mysql/my.cnf MYADMIN=«/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf»

# priority can be overriden and "-s" adds output to stderr ERR_LOGGER=«logger -p daemon.err -t /etc/init.d/mysql -i»

# Safeguard (relative paths, core dumps..) cd / umask 077

# mysqladmin likes to read /root/.my.cnf. This is usually not what I want # as many admins e.g. only store a password without a username there and # so break my scripts. export HOME=/etc/mysql/

## Fetch a particular option from mysql's invocation. # # Usage: void mysqld_get_param option mysqld_get_param() { /usr/sbin/mysqld --print-defaults \ | tr " " «\n» \ | grep — "--$1" \ | tail -n 1 \ | cut -d= -f2 }

## Do some sanity checks before even trying to start mysqld. sanity_checks() { # check for config file if [ ! -r /etc/mysql/my.cnf ]; then log_warning_msg «$0: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz» echo «WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz» | $ERR_LOGGER fi

# check for diskspace shortage datadir=`mysqld_get_param datadir` if LC_ALL=C BLOCKSIZE= df --portability $datadir/. | tail -n 1 | awk '{ exit ($4>4096) }'; then log_failure_msg «$0: ERROR: The partition with $datadir is too full!» echo «ERROR: The partition with $datadir is too full!» | $ERR_LOGGER exit 1 fi }

## Checks if there is a server running and if so if it is accessible. # # check_alive insists on a pingable server # check_dead also fails if there is a lost mysqld in the process list # # Usage: boolean mysqld_status [check_alive|check_dead] [warn|nowarn] mysqld_status () { ping_output=`$MYADMIN ping 2>&1`; ping_alive=$(( ! $? ))

ps_alive=0 pidfile=`mysqld_get_param pid-file` if [ -f «$pidfile» ] && ps `cat $pidfile` >/dev/null 2>&1; then ps_alive=1; fi

if [ «$1» = «check_alive» -a $ping_alive = 1 ] || [ «$1» = «check_dead» -a $ping_alive = 0 -a $ps_alive = 0 ]; then return 0 # EXIT_SUCCESS else if [ «$2» = «warn» ]; then echo -e «$ps_alive processes alive and '$MYADMIN ping' resulted in\n$ping_output\n» | $ERR_LOGGER -p daemon.debug fi return 1 # EXIT_FAILURE fi }

# # main() #

case «${1:-"}» in 'start') sanity_checks; # Start daemon log_daemon_msg «Starting MySQL database server» «mysqld» if mysqld_status check_alive nowarn; then log_progress_msg «already running» log_end_msg 0 else # Could be removed during boot test -e /var/run/mysqld || install -m 755 -o mysql -g root -d /var/run/mysqld

# Start MySQL! /usr/bin/mysqld_safe > /dev/null 2>&1 &

# 6s was reported in #352070 to be too few when using ndbcluster for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do sleep 1 if mysqld_status check_alive nowarn ; then break; fi log_progress_msg "." done if mysqld_status check_alive warn; then log_end_msg 0 # Now start mysqlcheck or whatever the admin wants. output=$(/etc/mysql/debian-start) [ -n «$output» ] && log_action_msg «$output» else log_end_msg 1 log_failure_msg «Please take a look at the syslog» fi fi ;;

'stop') # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible # at least for cron, we can rely on it here, too. (although we have # to specify it explicit as e.g. sudo environments points to the normal # users home and not /root) log_daemon_msg «Stopping MySQL database server» «mysqld» if ! mysqld_status check_dead nowarn; then set +e shutdown_out=`$MYADMIN shutdown 2>&1`; r=$? set -e if [ «$r» -ne 0 ]; then log_end_msg 1 [ «$VERBOSE» != «no» ] && log_failure_msg «Error: $shutdown_out» log_daemon_msg «Killing MySQL database server by signal» «mysqld» killall -15 mysqld server_down= for i in 1 2 3 4 5 6 7 8 9 10; do sleep 1 if mysqld_status check_dead nowarn; then server_down=1; break; fi done if test -z «$server_down»; then killall -9 mysqld; fi fi fi

if ! mysqld_status check_dead warn; then log_end_msg 1 log_failure_msg «Please stop MySQL manually and read /usr/share/doc/mysql-server-5.5/README.Debian.gz!» exit -1 else log_end_msg 0 fi ;;

'restart') set +e; $SELF stop; set -e $SELF start ;;

'reload'|'force-reload') log_daemon_msg «Reloading MySQL database server» «mysqld» $MYADMIN reload log_end_msg 0 ;;

'status') if mysqld_status check_alive nowarn; then log_action_msg «$($MYADMIN version)» else log_action_msg «MySQL is stopped.» exit 3 fi ;;

*) echo «Usage: $SELF start|stop|restart|reload|force-reload|status» exit 1 ;; esac

nenych
() автор топика
Ответ на: комментарий от anonymous

да тут нечего показывать:

root@debian:~# /etc/init.d/mysql stop [ ok ] Stopping MySQL database server: mysqld.

root@debian:~# /etc/init.d/mysql start [FAIL] Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

nenych
() автор топика
Ответ на: комментарий от nenych

да тут нечего показывать...

Блин, да чтож из тебя всё чуть-ли не клещами вытягивать приходится.

ls -la /run/mysqld/

покажи

anonymous
()
Ответ на: комментарий от anonymous

root@debian:~# ls -la /run/mysqld/ total 0 drwxr-xr-x 2 mysql root 40 Oct 21 01:52 . drwxr-xr-x 16 root root 660 Oct 21 01:52 ..

root@debian:~# ls -la /run/ total 56 drwxr-xr-x 16 root root 660 Oct 21 01:52 . drwxr-xr-x 22 root root 4096 Oct 5 00:13 .. -rw-r--r-- 1 root root 5 Oct 21 00:39 acpid.pid srw-rw-rw- 1 root root 0 Oct 21 00:39 acpid.socket drwxr-xr-x 2 root root 40 Oct 21 00:39 apache2 -rw-r--r-- 1 root root 5 Oct 21 00:39 apache2.pid -rw-r--r-- 1 root root 5 Oct 21 00:39 atd.pid -rw-r--r-- 1 root root 5 Oct 21 00:39 crond.pid ---------- 1 root root 0 Oct 21 00:39 crond.reboot drwxr-xr-x 2 messagebus messagebus 80 Oct 21 00:39 dbus -rw-r--r-- 1 root root 5 Oct 21 00:39 dhclient.eth0.pid drwxr-x--- 2 Debian-exim Debian-exim 40 Oct 21 00:40 exim4 prw------- 1 root root 0 Oct 21 00:39 initctl drwxr-xr-x 2 root root 40 Oct 21 00:39 initramfs drwxrwxrwt 3 root root 80 Oct 21 01:36 lock -rw-r--r-- 1 root root 64 Oct 21 00:39 motd.dynamic drwxr-xr-x 2 root root 60 Oct 21 00:39 mount drwxr-xr-x 2 mysql root 40 Oct 21 01:52 mysqld drwxr-xr-x 2 root root 60 Oct 21 00:39 network drwxr-xr-x 2 root root 80 Oct 21 00:39 rpcbind -r--r--r-- 1 root root 0 Oct 21 00:39 rpcbind.lock -rw-r--r-- 1 root root 4 Oct 21 00:39 rpcbind.pid srw-rw-rw- 1 root root 0 Oct 21 00:39 rpcbind.sock -rw-r--r-- 1 statd nogroup 5 Oct 21 00:39 rpc.statd.pid -rw-r--r-- 1 root root 5 Oct 21 00:39 rsyslogd.pid drwxr-xr-x 2 root root 100 Oct 21 00:39 sendsigs.omit.d drwxrwxrwt 2 root root 60 Oct 21 00:39 shm -rw------- 1 root root 5 Oct 21 00:39 sm-notify.pid drwxr-xr-x 2 root root 40 Oct 21 00:39 sshd -rw-r--r-- 1 root root 5 Oct 21 00:39 sshd.pid drwxr-xr-x 7 root root 180 Oct 21 00:39 udev -rw-rw-r-- 1 root utmp 4224 Oct 21 00:45 utmp drwxr-xr-x 3 root root 80 Oct 21 00:39 vsftpd

nenych
() автор топика
Ответ на: комментарий от nenych

Нужно исключить проблему в конфигах. Для этого проделай следующее. Убей все mysql процессы (если они есть):

/etc/init.d/mysql stop
killall mysql
killall mysqld
killall mysqld_safe

Проверь что всё действительно умерло:

ps -e | grep mysql

Перемести конфиги:

mv /etc/mysql /etc/mysql~

и запусти mysql:

/etc/init.d/mysql start

Вывод должен быть примерно таким:

/etc/init.d/mysql: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz ... (warning).
Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

Хотя, учитывая что у меня тоже седьмой деб, то вывод должен быть абсолютно таким-же. При этом (хоть и failed) всё должно запуститься:

ps -e | grep mysql

должен показать 2 процесса.

Отпишись что получится.

(И да, завязывай сидеть под рутом.)

anonymous
()
Ответ на: комментарий от nenych

А директория по умолчанию, в которой он должен находиться, какая она? И давай уже, наверное, конфиг my.cnf

rikardoac
()
Последнее исправление: rikardoac (всего исправлений: 1)
Ответ на: комментарий от TERRANZ

Ещё как вариант в конфиге может быть явно указан IP который mysqld должен слушать, если этот IP не назначен ни одному интерфейсу ошибка по идее должна быть такой-же.

MrClon ★★★★★
()
13 августа 2015 г.
Ответ на: комментарий от anonymous

Отпишись что получится.

Ага, так он тебе и отписался. Делать больше нечего отвечать, когда проблема решена :-)

* * *

Короче, парню просто надо было убить процессы mysql, mysqld, mysqld_safe и перезапуститься, а вы ему понаписали.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.