ERROR 1130 (HY000):호스트 "는 이 MySQL 서버에 연결할 수 없습니다.
왜 mysql에 접속할 수 없는 거죠?
mysql -u root -ptest101 -h xxx.xxx.xxx.xxx
ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server
my.cnf에는 다음과 같은 항목이 있습니다.
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 0.0.0.0
아래도 살펴봤는데...
'UPDATE mysql.user SET Password = PASSWORD('test101') WHERE User = 'root';
FLUSH PRIVILEGES;
mysql -u root -ptest101을 사용하여 호스트 시스템에 액세스할 수 있지만 mysql -u root -ptest101 -h xxx.xxx.xxx을 사용하지 않습니다.xxx
와... 왜 이런 일이 생기는 거죠?저는 nubuntj 12.04 입니다.
mysql> SELECT host FROM mysql.user WHERE User = 'root';
+---------------------------------------------+
| host |
+---------------------------------------------+
| % |
| 127.0.0.1 |
| ::1 | |
| localhost |
+---------------------------------------------+
5 rows in set (0.00 sec)
당신의.root
이 문장은 모든 계정에 적용되며 localhost 액세스(권장)로만 추가될 수 있습니다.
이것은, 다음의 방법으로 확인할 수 있습니다.
SELECT host FROM mysql.user WHERE User = 'root';
결과만 표시되는 경우localhost
그리고.127.0.0.1
외부 소스에서는 접속할 수 없습니다.접속처가 아닌 다른 IP 주소가 표시되어 있는 경우는, 그것도 표시입니다.
액세스를 허용하는 각 시스템의 IP 주소를 추가한 후 권한을 부여해야 합니다.
CREATE USER 'root'@'ip_address' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address';
보시면%
그렇다면 '원격 소스'라는 또 다른 문제가 있습니다.루트 경유로 접속하는 시스템이 있는 경우는,%
와일드카드:
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
마지막으로 권한을 새로고침하면 다음과 같이 원격접속이 가능합니다.
FLUSH PRIVILEGES;
다음 두 가지 단계를 수행하면 완벽하게 잘 작동했습니다.
파일에서 바인드 주소를 코멘트 아웃합니다.
/etc/mysql/my.cnf
:#bind-address = 127.0.0.1
phpMyAdmin에서 다음 쿼리를 실행합니다.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;
$mysql -u root --host=127.0.0.1 -p
mysql>use mysql
mysql>GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'redhat@123';
mysql>FLUSH PRIVILEGES;
mysql> SELECT host FROM mysql.user WHERE User = 'root';
mysql> 사용자 생성 'name'@'%'는 'pass'로 식별됩니다.Word'; Query OK, 영향을 받는 행은 0.00초입니다.
mysql> GRANT ALL PRIVALES ON. TO 'name'@%', 쿼리 OK, 0행 (0.00초)
mysql> FLUSH PRIVICEES; 쿼리 OK, 영향을 받는 행은 0.00초입니다.
mysql >
- 이름과 %가 맞는지 확인합니다.
- 실행 중인 방화벽에 포트 3306이 추가되었는지 확인합니다(다만, 다른 에러 메세지가 표시됩니다).
이게 누군가에게 도움이 되길...
cpanel에 접속할 수 있는 사람에게는, 그것을 회피하는 보다 간단한 방법이 있습니다.
데이터베이스 섹션에서 cpanel = > "원격 MySQL"에 로그인합니다.
액세스 하고 있는 IP/호스트명을 추가합니다.
완료!!!
PhpMyAdmin으로 이동하여 원하는 데이터베이스를 클릭한 후 Privilages 탭으로 이동하여 새 사용자 "remote"를 생성하고 모든 권한과 호스트 필드 설정 옵션(%)을 제공합니다.
이 오류를 쉽게 해결할 수 있는 방법이 있다
해 주세요.C:\xampp\mysql\data\mysql
on으로 .C:\xampp\mysql\backup\mysql
언급URL : https://stackoverflow.com/questions/19101243/error-1130-hy000-host-is-not-allowed-to-connect-to-this-mysql-server
'source' 카테고리의 다른 글
개체 또는 클래스 이름 가져오기 (0) | 2022.11.14 |
---|---|
라라벨에서 속도 제한 장치를 해제하시겠습니까? (0) | 2022.11.14 |
고유한 쌍 SQL 덮어쓰기 (0) | 2022.11.14 |
Java에서는 "this"가 null이 될 수 있습니까? (0) | 2022.11.14 |
jQuery로 포커스 요소를 얻는 방법 (0) | 2022.11.14 |