%3A%20'root'%40'localhost'%20%EC%82%AC%EC%9A%A9%EC%9E%90%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%95%A1%EC%84%B8%EC%8A%A4%EA%B0%80%20%EA%B1%B0%EB%B6%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4(%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%20%EC%82%AC%EC%9A%A9%3A%20NO)..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를 사용하며 해당 비밀번호는 처음 설치할 때 선택되었습니다. 시스템의 루트 비밀번호가 아닙니다. MySQL 루트와 시스템 루트는 비밀번호가 다를 수 있는 서로 다른 계정입니다.
기억하고 mysql -u root -p
시도하여 추측해 보세요. 운이 좋지 않으면 Google에서 MySQL 구성을 제거하고 새로 시작하는 방법을 검색하세요.
답변2
MySQL은 "localhost"와 "127.0.0.1"을 다르게 처리합니다. 첫 번째는 Unix 소켓 연결을 실행하는 데 사용됩니다 /var/lib/mysql/mysql.sock
. 따라서 테이블 GRANT
에 두 가지 다른 지침이 필요합니다 mysql.user
(적어도 OpenSuSE Linux에서는 수행합니다. 예를 들어 Windows에서는 마일리지가 다를 수 있습니다).
(루트로 mysql 연결)
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"로 설치를 시도하고 있음이 분명합니다. 스크립트나 설치 프로그램 구성을 편집할 수 없는 경우 다음을 통해 작업할 수 있습니다.일시적으로루트 비밀번호 비활성화:
USE mysql;
UPDATE user SET Password = NULL WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
...더 큰 안전을 위해,mysql에서 로그아웃하지 마세요이 일을 한 후에. 설치가 완료되면 루트 비밀번호를 재설정해야 합니다.
GRANT ALL PRIVILEGES ON mysql.* TO root@localhost IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;
이것은 문제를 해결하지 못합니다.설치 후 스크립트는 무엇을 합니까?. 그럴 가능성이 있다아직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 'the programe'을 제거합니다.
3) lib를 삭제하고
#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
--이 단계에서 설치가 성공하면 비밀번호는 null이어야 합니다. Enter를 누르고 mysql 데이터베이스에 들어가십시오.