Я установил сервер MySql на Ubuntu 14.04 LTS. У меня есть предшествующий опыт к нему также.
Но каждый раз, когда я вхожу в систему, с помощью mysql -u root -p
и после ввода пароля это говорит:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Я ввел правильный пароль. То же самое произошло дни назад, но затем я полностью удалил mysql и переустановил его снова.
Также я пытался перезапустить mysql сервер, но никакую справку!
Кто-либо может помочь?
Всегда читайте содержание /usr/share/doc/
имя пакета/
для пакетов Вы установили. Они содержат важную информацию для использования и управления пакетами.
Таким образом для mysql-server-5.5
существует важная информация в /usr/share/doc/mysql-server-5.5/README.Debian.gz
. Как это gzip
плетеная корзинка, удобно использовать zmore
считать его.
Там Вы видите, что можно использовать debian-sys-maint
пользователь для доступа к базе данных для администрирования. Так же, как root
использовать /etc/mysql/debian.cnf
конфигурационный файл для входа в систему как тот пользователь. Заметьте, что Вы НИКОГДА не должны изменять тот пользовательский пароль, если Вы также не изменяете его в файле debian.cnf
. В противном случае mysql прекратит работать.
Так, для изменения пароля для root
пользователь, попробуйте это.
$ sudo mysql --defaults-file=/etc/mysql/debian.cnf
mysql> UPDATE mysql.user SET Password=PASSWORD('*secret*') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ mysql -u root -p
Если можно использовать *secret*
пароль для входа в систему в как пользователь root
, Вам удалось изменить пароль для root
.
Заметьте это использование
debian-sys-maint
пользователь только работает на базирующиеся дистрибутивы Debian.Заметьте также это, если у Вас также есть пакет
dbconfig-common
установленный и набор для храненияroot
пароль (см./etc/dbconfig/config
), необходимо реконфигурировать тот пакет, таким образом, он знает, что пароль управляет базами данных для других пакетов.
Наконец, хорошая информация может также быть считана в Wiki Debians и в свободном Книга Системных администраторов
Сначала остановите mysql сервер
sudo service mysql stop
Выполнение следующая команда, которая запустит сервер снова и пропустит таблицы предоставления, которые хранят пароли.
mysqld_safe --skip-grant-tables
сервер Mysql должен теперь запуститься. Затем мы входим в корень без пароля.
mysql -u root
И затем нажимают Enter
Теперь, мы работаем, следующие команды в mysql для сброса пароля
update user set
Password=PASSWORD('new-password')
where user='root';
flush privileges;
exit;
Теперь перезапускают mysql сервер
sudo service mysql restart
, необходимо теперь быть в состоянии войти в систему с паролем, который Вы просто устанавливаете
mysql -u root -p
, Нажимают Enter, и необходимо получить подсказку для пароля root, и это должно быть принято.
У меня была эта проблема, и я решил ее, добавив sudo
, например sudo mysql -u root -p
и используя пароль, установленный при установке.