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


16

Я новачок у Ubuntu. Я працюю на Ubuntu 12.10. Я намагаюся встановити apache, php, mysql. Однак я встановив apache, і він працює бездоганно.

sudo apt-get install apache2

Але коли я спробував встановити mysql за допомогою наступної команди

sudo apt-get install mysql-server 

Після завантаження він запитав пароль, але після введення та підтвердження пароля. Я отримую наступне повідомлення про помилку.

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

Під час встановлення пароля для 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, відновіть оригінали та повторіть спробу.
Річард Айотт

Натане, у цій публікації я зіткнувся з тією ж проблемою, і я вже дотримувався тих же вказівок, що і зелений7, розміщених і ваших теж. Я навіть не можу зрозуміти, чому mysql перестав працювати. Буду радий, якби ви могли мені надати подальшу допомогу. Редагувати: Просто, щоб повідомити, що все це сталося, бо я почав отримувати звідкись таке повідомлення, коли намагаюся встановити mysql: ПОМИЛКА: 1146 Таблиця "mysql.user" не існує Дякую заздалегідь.

не може відповісти через низьку репутацію. Ця історія
gayavat

Відповіді:


25

Тут же проблема з встановленням пароля, моє, можливо, викликана невдалою ручною установкою 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-звичайного (> = 5.5.35-0ubuntu0.12.04.2). Dpkg: обробка помилок MySQL-поширені (--purge): проблеми залежностей - не вилучення помилки були виявлені при обробці: MySQL-загального
SES

Це теж працювало для мене.
Майкл Ліндман

Я деякий час шукав набір інструкцій, які б повністю вирішили ситуацію. Це спрацювало так само, як описано. Спасибі.
Метт Сеттер

Працював для мене завдяки людині! Шкода, що Linux робить таку безладну роботу з розміщенням файлів!
Саутертон

врешті-решт працював на мене. Я думаю, що перезавантаження після всього, що могло б допомогти мені пройти!
Данімаль

5

Вам потрібно повністю видалити mysql. Повірте, я намагався. dpkg цього не зробить один.

Побачити

/programming/10853004/removing-mysql-5-5-повністю

Якщо ви поспішаєте

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)

Виконайте такі команди в терміналі:

судо су
корінь чуми: корінь / 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. Потім я відключив сервер і змінив розмір мого примірника VM з 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 і після цього він просто запитує пароль mysql root, але що це за пароль? Сценарій встановлення - це крок назад. Я рекомендую встановити 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.