Назад | Перейти на главную страницу

Сервер mysql не запускается

Погуглил уже два часа, мне нужна ваша помощь. Я нахожусь на виртуальной машине Debian и клонировал ее. Единственное изменение - это новый IP-адрес.

Mysql больше не запускается:

Starting MySQL database server: mysqld . . . . . . . . . . . . . . failed!

Нет процесса под названием mysql. Все файлы журнала mysql в / var / log пусты.

вот файл my.cnf:

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
language    = /usr/share/mysql/english
skip-external-locking
bind-address        = 127.0.0.1
key_buffer      = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size       = 8
myisam-recover         = BACKUP
query_cache_limit   = 1M
query_cache_size        = 16M
general_log_file        = /var/log/mysql/mysql.log
log_bin         = /var/log/mysql/mysql-bin.log
expire_logs_days    = 10
max_binlog_size         = 100M

[mysqldump]
quick
quote-names
max_allowed_packet  = 16M
[mysql]
[isamchk]
key_buffer      = 16M
[mysqld_safe]
syslog

Вот результат ifconfig:

eth0      Link encap:Ethernet  HWaddr 00:0c:29:12:98:9a  
          inet adr:192.168.1.138  Bcast:192.168.1.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:754 errors:0 dropped:0 overruns:0 frame:0
          TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:101177 (98.8 KiB)  TX bytes:17719 (17.3 KiB)

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

По запросу, вот результат: sudo -u mysql mysqld, вот результат:

root@debian:/home/nicolas/Bureau# sudo -u mysql mysqld
121004 14:26:57 [Note] Plugin 'FEDERATED' is disabled.
mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
121004 14:26:57 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
121004 14:26:57  InnoDB: Initializing buffer pool, size = 8.0M
121004 14:26:57  InnoDB: Completed initialization of buffer pool
121004 14:26:57  InnoDB: Started; log sequence number 0 70822697
121004 14:26:57 [Note] Recovering after a crash using /var/log/mysql/mysql-bin
121004 14:26:57 [Note] Starting crash recovery...
121004 14:26:57 [Note] Crash recovery finished.
121004 14:26:57 [ERROR] mysqld: Can't find file: './mysql/host.frm' (errno: 13)
121004 14:26:57 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)

Возможно, что разрешения на /var/lib/mysql неверны, или структура БД не инициализирована. Попробуйте запустить mysql вручную:

#sudo -u mysql mysqld

И вы получите весь вывод демона на консоль.

Так это ошибка для 13

$ perror 13 Код ошибки ОС 13: В доступе отказано

Итак, я хочу, чтобы вы попробовали следующее

Сначала убедитесь, что с разрешениями все в порядке

chown -R mysql: /var/lib/mysql

Затем попробуйте запустить mysql. Если это не сработает и вам не нужны ваши данные, сделайте следующее

rm -rf /var/lib/mysql/*
mysql_install_db
chown -R mysql: /var/lib/mysql

Затем снова запустите mysql

Поскольку я не мог с тех пор, я переустановил новую виртуальную машину Спасибо за вашу помощь, это были хорошие идеи

У меня такая же проблема.

Каталог / tmp не был записан, поэтому MYSQL не мог записать необходимый файл.

Просто сделай это:

chmod 777 /tmp

и перезапустите mysql

/etc/init.d/mysql start