2

У меня свежая установка MySQL (5.0.75-0ubuntu10.5), которую я установил с помощью apt-get . Во время установки мне было предложено ввести пароль root для MySQL, который я установил. С тех пор я пытался войти в систему с учетной записью root безрезультатно. Я всегда получаю сообщение:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Я следовал инструкциям , чтобы сбросить пароль root на что-то другое. Я заметил, что пользователь root не отображается в таблице mysql.user. Единственный пользователь, которого я имею, это debian-sys-maint .

При запуске сервера MySQL вручную я получаю следующее:

sudo /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --  user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
101110 13:08:59  InnoDB: Started; log sequence number 0 43655
101110 13:08:59 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.0.75-0ubuntu10.5'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

При запуске сервера MySQL в системном журнале появляется следующее:

Nov 10 13:11:49 spiros mysqld_safe[14705]: started
Nov 10 13:11:49 spiros mysqld[14709]: 101110 13:11:49  InnoDB: Started; log sequence number 0 43655
Nov 10 13:11:49 spiros mysqld[14709]: 101110 13:11:49 [Note] /usr/sbin/mysqld: ready for connections.
Nov 10 13:11:49 spiros mysqld[14709]: Version: '5.0.75-0ubuntu10.5'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14745]: Upgrading MySQL tables if necessary.
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14757]: Looking for 'mysql' as: /usr/bin/mysql
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14757]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14757]: This installation of MySQL is already upgraded to 5.0.75, use --force if you still need to run mysql_upgrade
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14759]: Checking for insecure root accounts.
Nov 10 13:11:50 spiros /etc/mysql/debian-start[14763]: Triggering myisam-recover for all MyISAM tables

После многократного сброса пароля и сброса привилегий я все равно не могу войти в систему.

Есть идеи?

2 ответа2

1

Я тоже боролся с этим в течение нескольких часов, но ответ Спироса сработал для меня - после этого я мог войти, используя

mysql -uroot -p [enter]

(имеется ввиду, что пароль пуст - я сбрасываю пароль root, запустив

sudo dpkg-reconfigure mysql-server-5.1

который запрашивает пароль root. Затем я мог войти, как указано выше, с пользователем root и паролем Очень странно, что он установлен без пользователя root ... (но теперь он работает, спасибо Spiros!)

1

У меня была такая же проблема при установке Debian на VPS (Gigatux). Команда "dpkg-reconfigure mysql-server-5.1" позволила бы мне установить / сбросить пароль root MySQL, но аутентификация все равно не удалась бы с ошибкой "Доступ запрещен для пользователя 'root' @ 'localhost'"

В конечном итоге моя проблема была вызвана отсутствием правильных разрешений для папки /tmp при установке MySQL. Моя папка /tmp имела права «drwxr-xr-x», когда она должна была быть "drwxrwxrwt". Даже после установки правильных разрешений я не мог решить проблему, мне нужно было установить разрешения ДО ТОГО, как я установил MySQL.

Я задокументировал свой опыт более подробно на http://www.craigdodd.co.uk/2012/01/missing-root-account-in-mysql/, если кому-то интересно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .