
LAN에서 실행되는 3개의 서버와 1개의 Windows 시스템이 있습니다.
HTTP server (Apache2, PHP5 & phpmyadmin) - 10.0.0.10
DNS - 10.0.0.1
MySQL - 10.0.0.40
Windows - 10.0.0.157
방금 mysql 서버에 mysql의 새로운 복사본을 설치했습니다. 먼저 바인드 주소를 주석 처리했습니다. 다음을 수행하여 권한을 부여했습니다.
CREATE USER 'https'@'localuser' IDENTIFIED BY 'password';
CREATE USER 'https'@'10.0.0.10' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'https'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'https'@'10.0.0.10';
그러나 http 서버를 통해 mysql에 연결하려고 할 때마다 다음이 발생합니다.
mysql -u https -p
enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock'(2)
내가 시도할 때
mysql -h 10.0.0.40 -P 3306 -u https -p
다른 오류가 발생합니다.
ERROR 1045 (28000): Access denied for user 'https'@'10.0.0.10' (Using password: Yes)`
제가 아는 한 왜 이런 일이 발생하는지 잘 모르겠습니다. 구성에 필요한 모든 작업을 완료했습니다. :(
사용자를 위한 mysql 테이블에는 다음이 있습니다.
user | host
https %
https 10.0.0.10
sqlserver 127.0.0.1
sqlserver ::1
debian-sys-maint localhost
https localhost
sqlserver localhost
sqlserver raspberrypi
누군가 나에게 올바른 방향을 알려줄 수 있습니까? 나는 주변을 검색했고 내가 본 모든 것은 바인드 주소 줄에 대한 주석을 가리키는 것뿐입니다.
편집하다sqlserver
이름이 변경된 루트 계정 이외의 사용자를 사용하여 로컬로 로그인할 수도 없습니다 . 새 계정을 추가하고 로컬로 로그인해 보았지만 여전히 동일한 문제입니다!
답변1
Jos가 부분적으로 답변한 내 질문에 답하기 위해.
바인드 주소 줄(in)을 주석 처리하면 안 됩니다 /etc/my.cnf
. 대신 서버의 IP 주소(예: )를 지정 10.0.0.40
하고 MySQL을 다시 시작해야 합니다.
와 결합된 것
GRANT ALL PRIVILEGES ON *.* TO ‘https’@’localhost’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
대신
GRANT ALL PRIVILEGES ON *.* TO 'https'@'10.0.0.10';
문제가 해결되었습니다. 이것이 동일한 문제를 겪고 있는 다른 사람들에게도 도움이 되기를 바랍니다.
도와주셔서 감사합니다!
답변2
당신이 실행한다면
netstat -an | grep 3306
포트 3306에 대한 LISTEN 항목이 표시됩니까?
답변3
서비스가 시작되었나요? 그렇지 않은 경우(또는 확실하지 않은 경우) 다음을 실행하세요.
sudo service mysql start