%3A%20%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%89%D0%B5%D0%BD%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%20'root'%40'localhost'%20(%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%20%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C%3A%20%D0%9D%D0%95%D0%A2).png)
Сначала я получал эту ошибку при попытке создать базы данных для использования в phpMyAdmin.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Я поискал в нескольких местах, и мой приятель посоветовал мне просто переустановить MySQL, так как я только вчера переустановил сервер.
Поэтому я решил переустановить MySQL, и теперь я даже не могу запустить установщик, не получив эту ошибку:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Я также получил 'root'@'localhost'
ошибку при попытке установить скрипт с базой данных, которую я создал. Это ошибка, которую я получил, когда я попытался установить скрипт: Запуск Centos 6
PHP 5.3.3 (я использую скрипт Ioncubed, а PHP 5.4 мне не нужен).
РЕДАКТИРОВАТЬ:
Если вы собираетесь спросить, почему я сначала не посмотрел вокруг, я посмотрел вокруг! Мне не повезло найти других, у кого была такая же проблема, как у меня.
ПРАВКА 2:
Я успешно установил MySQL. Мне захотелось вернуться и попробовать еще раз, и установщик прошел нормально. Но я все еще получаю ошибку root@localhost, показанную на изображении выше. Я уже проверил, чтобы убедиться, что конфигурация не использует магическим образом "root"@"localhost".
решение1
Конфигурация базы данных использует root@localhost, и этот пароль был выбран при первой установке. Это не пароль root системы. MySQL root и root системы — это разные учетные записи с возможными разными паролями.
Попробуйте вспомнить и попытаться угадать его, используя mysql -u root -p
to try. Если не получится, поищите в Google, как удалить конфигурацию MySQL и начните заново.
решение2
MySQL по-разному обрабатывает "localhost" и "127.0.0.1"; первый используется для запуска соединения сокета Unix /var/lib/mysql/mysql.sock
или чего-то еще. Поэтому вам нужны две разные GRANT
инструкции в вашей mysql.user
таблице (по крайней мере, я делаю это в OpenSuSE Linux; например, в Windows ваш пробег может отличаться):
(подключение mysql как root)
GRANT ALL PRIVILEGES (*or privilege list*) ON yourdb.* TO user@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES (*or privilege list*) ON yourdb.* TO [email protected] IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Тогда очевидно, что ваш скрипт действительно пытается установить как "root@localhost". Если вы не можете редактировать скрипт или конфигурацию установщика, вы можете обойти это с помощьювременноотключение пароля root:
USE mysql;
UPDATE user SET Password = NULL WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
...для большей безопасности,не выходите из mysqlпосле этого. После завершения установки вам придется сбросить пароль root:
GRANT ALL PRIVILEGES ON mysql.* TO root@localhost IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;
Это не решает проблемучто делает скрипт после установки. Скорее всего, так и будет.все ещеиспользуйте root на локальном хосте ивсе ещене используйте пароль. Поэтому как только вы сбросите пароль, он перестанет работать. Вам нужно найти ссылки на root и localhost (они могут быть указаны отдельно) в конфиге скрипта: должно быть что-то вроде
user = root
host = localhost
dbname = somedb
или, может быть
'username' => 'root',
"hostaddr" => "localhost",
...
и изменить их. Вы можете создать нового пользователя в MySQL, просто выполнив новый GRANT
оператор.
решение3
В обычных случаях,переполнение стекаполезно. Однако в случае конфликта разных версий пароль не может быть успешно сброшен. В этом случае, пожалуйста, переустановите mysql.Вот что я встречаю!!
Вот шаги: 1) найдите установленный mysql
# rpm -qa|grep mysql
2) удалить mysql
#rpm -e 'программа'
3) удалить lib&include
#rm -rf /usr/lib/mysql
#rm -rf /usr/include/mysql
4) удалите дату mysql или сделайте ее резервную копию.
#mv /var/lib/mysql ~/mysql_backup
5) переустановить mysql
#yum install mysql mysql-server
6) Запустите службу MySQL и попробуйте
#chkconfig mysqld on
#service mysqld start
#mysql -uroot -p
--на этом этапе, если установка прошла успешно, пароль должен быть нулевым. Просто нажмите Enter и войдите в базу данных MySQL.