Я только что обновил MySQL на CentOS, когда это сделал yum update
. На моем веб-сайте возникли некоторые ошибки MySQL, и я обнаружил, что MySQL не работает:
# /etc/init.d/mysqld start
MySQL Daemon failed to start.
Starting MySQL: [FAILED]
Я получаю такую ошибку:
2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) when trying to connect
Файл не существует и его нет в моем /tmp
папку тоже.
Ошибка обновления MySQL:
# mysql_upgrade
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) when try
ing to connect
FATAL ERROR: Upgrade failed
Журнал ошибок MySQL:
101107 12:52:28 [Warning] /usr/libexec/mysqld: Option '--set-variable' is deprecated. Use --variable-name=value instead.
101107 12:52:28 [Note] Plugin 'ndbcluster' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
101107 12:52:28 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
101107 12:52:28 InnoDB: Started; log sequence number 0 30688749
101107 12:52:28 [ERROR] /usr/libexec/mysqld: unknown option '--skip-bdb'
101107 12:52:28 [ERROR] Aborting
101107 12:52:28 InnoDB: Starting shutdown...
101107 12:52:34 InnoDB: Shutdown completed; log sequence number 0 30688749
101107 12:52:34 [Note] /usr/libexec/mysqld: Shutdown complete
101107 12:52:34 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
2-й раз:
101107 12:52:34 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
101107 13:19:44 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
101107 13:19:44 [Warning] option 'innodb-additional-mem-pool-size': signed value 204800 adjusted to 524288
101107 13:19:44 [Warning] option 'innodb-log-buffer-size': signed value 204800 adjusted to 262144
101107 13:19:44 [Note] Plugin 'ndbcluster' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
101107 13:19:44 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
101107 13:19:44 InnoDB: Started; log sequence number 0 30688749
101107 13:19:44 [ERROR] /usr/libexec/mysqld: unknown option '--skip-bdb'
101107 13:19:44 [ERROR] Aborting
101107 13:19:44 InnoDB: Starting shutdown...
101107 13:19:49 InnoDB: Shutdown completed; log sequence number 0 30688749
101107 13:19:49 [Note] /usr/libexec/mysqld: Shutdown complete
101107 13:19:49 mysqld_safe mysqld from pid file /var/lib/mysql/dev.system.de.pid ended
Это самые последние ошибки, которые я зарегистрировал.
$ mysql_upgrade
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
FATAL ERROR: Upgrade failed
Во-первых, в вашем my.cnf
удалять '--skip-bdb'
Попробуйте запустить снова /etc/init.d/mysqld start
также кажется, что вы обновились до более новой версии 5.1, поэтому вам нужно будет запустить mysql_upgrade после запуска сервера
Найдите в my.cnf (либо /etc/mysql/my.conf, либо /etc/my.cnf) директиву log_error, чтобы узнать, где регистрируются ошибки. В Ubuntu по умолчанию используется /var/log/mysql/error.log, в вашей системе он может быть другим. Посмотрите там, на что жалуется сервер mysql.