Невозможно установить пароль для пользователя «root» mysql


16

Я новичок в Ubuntu. Я использую Ubuntu 12.10. Я пытаюсь установить apache, php, mysql. Однако я установил Apache, и он работает отлично.

sudo apt-get install apache2

Но когда я попытался установить MySQL, используя следующую команду

sudo apt-get install mysql-server 

После загрузки запрашивался пароль, но после ввода и подтверждения пароля. Я получаю следующее сообщение об ошибке.

Невозможно установить пароль для пользователя Mysql "root"

Произошла ошибка при установке пароля для mysql
Административный пользователь. Это могло произойти из-за того, что у учетной записи уже есть пароль, или из-за проблем со связью с сервером Mysql.
Вы должны проверить пароль учетной записи после установки пакета.
Пожалуйста, прочитайте /usr/share/doc/mysql-server-5.5/README.Debian файл для получения дополнительной информации.

после нажатия на кнопку ОК в приглашении я получаю следующее сообщение на терминале

Setting up mysql-server-5.5 (5.5.29-0ubuntu0.12.10.1) ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing mysql-server-5.5 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

Mysql журнал ошибок говорит

130209 14:26:37 [Note] Plugin 'FEDERATED' is disabled.
130209 14:26:37 InnoDB: The InnoDB memory heap is disabled
130209 14:26:37 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130209 14:26:37 InnoDB: Compressed tables use zlib 1.2.7
130209 14:26:37 InnoDB: Using Linux native AIO
mysqld: Can't create/write to file '/tmp/ibNuz7q0' (Errcode: 13)
130209 14:26:37  InnoDB: Error: unable to create temporary file; errno: 13
130209 14:26:37 [ERROR] Plugin 'InnoDB' init function returned error.
130209 14:26:37 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130209 14:26:37 [ERROR] Unknown/unsupported storage engine: InnoDB
130209 14:26:37 [ERROR] Aborting

Я искал эту проблему, но у меня ничего не получалось. Пожалуйста помоги.


1
Проверьте, если вы mysql-serverуже установили, запустив ps -e | grep mysqld. Если вы видите какой-либо вывод, это означает, что он уже установлен.
зеленый

Я не получаю никакой информации для этого
Девендра Верма

Отправленная вами ошибка mysql может указывать на проблему с вашим /etc/mysql/my.cnf. Если вы изменили этот файл или любой другой файл в каталоге / etc / mysql, восстановите оригиналы и попробуйте снова.
Ричард Айотт

Натан, я сталкиваюсь с той же проблемой в этом посте, и я уже следовал тем же инструкциям, что и Green7, опубликованным и вам тоже. Я даже не могу понять, почему MySQL перестал работать. Я был бы рад, если бы вы могли оказать мне дополнительную помощь. Изменить: Просто, чтобы сообщить вам, что все это произошло, потому что я начал получать из ниоткуда следующее сообщение, когда я пытаюсь установить mysql: ОШИБКА: 1146 Таблица «mysql.user» не существует Спасибо заранее.

не может ответить из-за низкой репутации. Это суть работает для меня gist.github.com/ervinb/63138a504da11a9c27af
gayavat

Ответы:


25

Та же самая проблема установки пароля root здесь, моя, возможно, вызвана неудачной ручной установкой сервера mysql 5.6 ранее. Тщательное удаление MySQL не является легкой задачей. Я продувал / переустанавливал в течение нескольких часов, а потом наконец решил

sudo dpkg --purge mysql-client-core-5.5 # or alternative version
sudo dpkg --purge mysql-client
sudo dpkg --purge mysql-server-core-5.5 # or alternative version
sudo dpkg --purge mysql-common

В основном я просто типа

sudo dpkg --purge mysql # followed by two tabs

Затем --purgeлюбые пакеты терминала автоматически завершаются. Очистите mysql-commonнаконец из-за некоторых проблем зависимости.

Используйте вышеуказанные dpkgкоманды в дополнение к

sudo apt-get --purge remove mysql-server
sudo apt-get --purge remove mysql-client
sudo apt-get --purge remove mysql-common
sudo apt-get autoremove
sudo apt-get autoclean

Также я попробовал метод Грека

sudo rm -rf /etc/mysql

Удалите папку mysql из / var / lib

sudo rm -rf /var/lib/mysql/

На этом этапе, чтобы убедиться, что MySQL полностью удален, проверьте с

which mysql
mysql --version

Первый не должен возвращать ничего вместо папки. Второй должен вернуть mysql не установлен вместо номера версии. В противном случае удаление все еще не завершено.

Значение dpkg --purgeпри использовании в apt-getодиночку, which mysqlи mysql --versionвести себя как mysql все еще там.

Перед переустановкой перенастройте dpkg и обновите

sudo dpkg --configure -a
sudo apt-get update

Проблема решена окончательно. Надеюсь, это будет полезно для других людей.


3
В моем случае, когда: sudo dpkg --purge mysql-common Сбой: dpkg: проблемы с зависимостями не позволяют удалить mysql-common: mysql-client-5.5 зависит от mysql-common (> = 5.5.35-0ubuntu0.12.04. 2). libmysqlclient18 зависит от mysql-common (> = 5.5.35-0ubuntu0.12.04.2). dpkg: обработка ошибок mysql-common (--purge): проблемы с зависимостями - не устранение Ошибки при обработке: mysql-common
ses

Это также сработало для меня.
Майкл Линдман

Некоторое время я искал набор инструкций, которые бы полностью разрешили ситуацию. Это работает так же, как описано. Благодарю.
Мэтт Сеттер

Работал на меня, спасибо человеку! Жаль, что Linux плохо справляется с размещением файлов!
Саутертон

в конце концов у меня сработало. Я думаю, перезагрузка после всего, что могло бы помочь мне пройти!
Danimal

5

Вам необходимо полностью удалить MySQL. Поверь мне, я попробовал. dpkg не сделает это в одиночку.

Видеть

/programming/10853004/removing-mysql-5-5-completely

Если вы спешите

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.5
sudo apt-get purge mysql-client-core-5.5

Вы, сэр, герой! Я часами гуглял и пробовал разные советы повсюду, и только ваш действительно работал! Я думаю, что разница заключается в удалении пользователя MySQL, как я уже пробовал большинство других вариантов. PS: мне пришлось kill -9несколько процессов, прежде чем запустить deluser mysqlкоманду успешно.
Shautieh

3

Я думаю, что причина в том, что mysqlне может получить доступ к вашему /tmp/каталогу, как говорится в строке

mysqld: невозможно создать / записать в файл '/ tmp / ibNuz7q0' (код ошибки: 13)

Выполните следующие команды в терминале:

судо су
chown root: root / tmp
CHMOD 1777 / тпм
/ usr / sbin / mysqld &

Пояснение :

  • sudo su: Выполнить следующие команды как root.
  • chown root:root /tmp: Сделай пользователь rootиз rootгруппы владельца /tmp.
  • chmod 1777 /tmp: Измените права доступа, /tmpчтобы он был доступен для всех пользователей, и только владелец или пользователь rootможет удалить файлы в этом каталоге. (Подробнее о правах доступа здесь )
  • /usr/sbin/mysqld &: Запустить mysqldдемон.

после ввода последней команды я получаю это сообщение # /etc/init.d mysqld start bash: /etc/init.d: ​​каталог
Devendra Verma

изменил ответ
зеленый

Я получаю этот вывод после / usr / sbin / mysqld & / usr / sbin / mysqld & [1] 3497. Как я могу проверить, работает ли mysql
Devendra Verma

Чтобы проверить, работает ли ваш mysql, запустите его, ps -e | grep mysqldи если вы получите какой-либо вывод, он работает нормально.
зеленый

спасибо @ green7 вот вывод ps -e | grep mysqld 1075? 00:00:04 mysqld
Девендра Верма

2

Прошлой ночью я боролся с этим несколько часов и прочитал все, что Google имеет в своем индексе о проблеме.

Я переустановил MySQL 20 раз. Это, вероятно, буквальная цифра.

Наконец, один из них или оба из них исправили проблему (после удаления / очистки / записи mysql):

  1. sudo rm -rf /etc/mysql (это не было удалено после чистки)
  2. Затем я выключил сервер и изменил размер своего экземпляра виртуальной машины с 512 МБ до 1 ГБ (ОЗУ).

После этого я запустился sudo aptitude install mysql-serverи, наконец, успешно установил:

$ sudo aptitude install mysql-server
[sudo] password for [REDACTED]: 
The following NEW packages will be installed:
  libdbd-mysql-perl{a} libmysqlclient18{a} mysql-client-5.5{a} mysql-common{a} mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} 
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,589 kB of archives. After unpacking 94.6 MB will be used.
Do you want to continue? [Y/n/?] Y
Get: 1 http://ftp.us.debian.org/debian/ wheezy/main mysql-common all 5.5.31+dfsg-0+wheezy1 [85.3 kB]
Get: 2 http://ftp.us.debian.org/debian/ wheezy/main libmysqlclient18 amd64 5.5.31+dfsg-0+wheezy1 [687 kB]
Get: 3 http://ftp.us.debian.org/debian/ wheezy/main libdbd-mysql-perl amd64 4.021-1+b1 [126 kB]
Get: 4 http://ftp.us.debian.org/debian/ wheezy/main mysql-client-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,923 kB]
Get: 5 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-core-5.5 amd64 5.5.31+dfsg-0+wheezy1 [3,784 kB]
Get: 6 http://ftp.us.debian.org/debian/ wheezy/main mysql-server-5.5 amd64 5.5.31+dfsg-0+wheezy1 [1,900 kB]
Get: 7 http://ftp.us.debian.org/debian/ wheezy/main mysql-server all 5.5.31+dfsg-0+wheezy1 [83.6 kB]
Fetched 8,589 kB in 2s (3,068 kB/s)
Preconfiguring packages ...
Selecting previously unselected package mysql-common.
(Reading database ... 52430 files and directories currently installed.)
Unpacking mysql-common (from .../mysql-common_5.5.31+dfsg-0+wheezy1_all.deb) ...
Selecting previously unselected package libmysqlclient18:amd64.
Unpacking libmysqlclient18:amd64 (from .../libmysqlclient18_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package libdbd-mysql-perl.
Unpacking libdbd-mysql-perl (from .../libdbd-mysql-perl_4.021-1+b1_amd64.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server-core-5.5.
Unpacking mysql-server-core-5.5 (from .../mysql-server-core-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Processing triggers for man-db ...
Setting up mysql-common (5.5.31+dfsg-0+wheezy1) ...
Selecting previously unselected package mysql-server-5.5.
(Reading database ... 52616 files and directories currently installed.)
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.31+dfsg-0+wheezy1_amd64.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.31+dfsg-0+wheezy1_all.deb) ...
Processing triggers for man-db ...
Setting up libmysqlclient18:amd64 (5.5.31+dfsg-0+wheezy1) ...
Setting up libdbd-mysql-perl (4.021-1+b1) ...
Setting up mysql-client-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-core-5.5 (5.5.31+dfsg-0+wheezy1) ...
Setting up mysql-server-5.5 (5.5.31+dfsg-0+wheezy1) ...
Stopping MySQL database server: mysqld.
131124 15:39:56 [Note] Plugin 'FEDERATED' is disabled.
131124 15:39:56 InnoDB: The InnoDB memory heap is disabled
131124 15:39:56 InnoDB: Mutexes and rw_locks use GCC atomic builtins
131124 15:39:56 InnoDB: Compressed tables use zlib 1.2.7
131124 15:39:56 InnoDB: Using Linux native AIO
131124 15:39:56 InnoDB: Initializing buffer pool, size = 128.0M
131124 15:39:56 InnoDB: Completed initialization of buffer pool
131124 15:39:56 InnoDB: highest supported file format is Barracuda.
131124 15:39:56  InnoDB: Waiting for the background threads to start
131124 15:39:57 InnoDB: 5.5.31 started; log sequence number 1595675
131124 15:39:57  InnoDB: Starting shutdown...
131124 15:39:58  InnoDB: Shutdown completed; log sequence number 1595675
Starting MySQL database server: mysqld ..
Checking for tables which need an upgrade, are corrupt or were 
not closed cleanly..
Setting up mysql-server (5.5.31+dfsg-0+wheezy1) ...

1

Напечатайте, sudo apt-get purge mysql-server && sudo apt-get install mysql-serverесли это не работает, пожалуйста, оставьте комментарий к моему ответу, и я буду работать с вами, чтобы решить эту проблему.


0

Сценарии установки для всех версий Ubuntu после 12.04 не соответствуют тому же процессу установки, что и 12.04. В 12.04 вас явно просят установить пароль mysql во время установки. Для 12.10 и позже он просто запрашивает пароль root для mysql, но что это за пароль? Сценарий установки - это шаг назад. Я рекомендую установить 12.04 на виртуальной машине и установить там mysql. Если вы похожи на меня и используете это вместе с Drupal, определенно придерживайтесь 12.04.


0

Отличное решение для тех, у кого все еще есть проблемы. Надеюсь, я могу помочь тем, кто пытается переустановить Mysql. Обратите внимание, это миссия поиска и уничтожения. Так что будь устал. Предполагая ваш корень:

apt-get purge mysql*
apt-get purge dbconfig-common #the screen used for mysql password
find / -name *mysql*          #delete any traces of mysql
#insert apt-get cleanups, autoremove,updates etc.

Первоначально, что-то осталось мешать моему запуску mysqlserver-5.5. Эти команды в конечном итоге решили проблему для себя.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.