나는 이것을 정말로 이해할 수 없다. 특정 사용자의 경우 컴퓨터 B에서 컴퓨터 A의 MySQL DB에 연결할 수 있지만 컴퓨터 A에서 로컬로 연결할 수 없거나 PHP에서 연결할 수 없습니다. PHP에서 MySQL에 연결할 수 없지만 원격 시스템에서 연결할 수 있습니까?
는 그럼 난 사용자 MYTEST을 만들어이 시스템 A에 DB를 MYTEST을 작성, 설명 및 MYTEST에 모든 권한을 부여하려면 : 나는 어떤없이 어디서나 연결할 수있는 루트, 이러한했다GRANT ALL PRIVILEGES ON MYTEST.* TO 'MYTEST'@'%' IDENTIFIED BY 'mypass';
FLUSH PRIVILEGES;
문제. 결과 :
[email protected]*-*-2-153:~$ mysql -u MYTEST -p -h *.*.*.174
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 84
Server version: 5.5.32-0ubuntu7 (Ubuntu)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
다음은 모두 좋아 보이는 :
는 그럼, 다른 기계, 기계 B에서 연결을 시도합니다. 지금은 다시 시스템 A에 가서 이렇게 :
[email protected]:~# mysql -u MYTEST -p
Enter password:
ERROR 1045 (28000): Access denied for user 'MYTEST'@'localhost' (using password:
YES)
[email protected]:~#
내가 루트로 연결할 수있어 반면 :
[email protected]:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
가 궁극적으로 내가 PHP에서 연결해야합니다. 그 중 하나가 작동하지 않습니다
php > $con = mysqli_connect('128.199.253.174', 'root', 'somepasswordhere');
php >
는 그때 적극적으로 뭔가를 시도 :
php > $con = mysqli_connect('128.199.253.174', 'MYTEST', 'mypass');
PHP Warning: mysqli_connect(): (28000/1045): Access denied for user 'MYTEST'@'w
angboyang.com' (using password: YES) in php shell code on line 1
내가 뿌리를 사용해야합니다. MYTEST에 모든 권한을 부여했지만 모든 결과는 동일하게 유지되었습니다. 누구든지 아이디어가 있으십니까? 정말 고맙겠습니다.
참고 :
나는 암호가 올바른지 확신합니다. 이를 확인하기 위해 루트와 동일한 비밀번호를 사용하고 해시 값을 동일하게 비교했습니다. 루트를 사용하여 연결할 수 있습니다. 암호가 맞습니다.
두 기계 우분투 13.10.
나는이 모든 단계들 사이에서 mysql 서버를 재시작했지만 아무런 효과가 없었습니다.
내 호스팅 회사는 특정 ip addy 만 데이터베이스에 연결할 수 있도록 허용합니다. 들어가서 목록에 추가해야합니다. 어쩌면 너와 똑같을거야. – pathfinder