집 >데이터 베이스 >MySQL 튜토리얼 >PHP의 SSH 터널을 통해 원격 MySQL 서버에 안전하게 연결하는 방법은 무엇입니까?
PHP를 사용하여 SSH를 통해 MySQL 서버에 안전하게 연결
SSH를 통해 원격 MySQL 서버에 연결하면 연결을 암호화하여 추가 보안이 제공됩니다. PHP에서는 mysqli_connect() 함수를 사용하여 SSH 터널링된 MySQL 서버에 연결할 수 있습니다. 그러나 ssh2_tunnel()을 사용하여 연결을 설정하려고 하면 개발자는 "mysqli_connect()에서 매개변수 6을 문자열로 예상하고 리소스가 제공되어야 합니다."라는 오류가 자주 발생합니다.
SSH 터널 구성
이 문제를 해결하기 위해 권장되는 접근 방식은 SSH 터널을 설정하는 것입니다. 명령줄 도구를 사용하여 SSH 터널을 생성하려면 다음 단계를 따르세요.
ssh -fNg -L 3307:10.3.1.55:3306 username@ssh-jumpbox.com
AllowTcpForwarding yes
sudo systemctl restart sshd
PHP 연결
SSH 터널이 설정되면 PHP를 사용하여 MySQL 서버에 연결할 수 있습니다.
$mysqli = new mysqli('127.0.0.1', 'DB_USERNAME', 'DB_PASSWORD', 'dbname', 3307); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); }
이 코드는 127.0.0.1:3307에서 호스팅되는 MySQL 데이터베이스에 연결됩니다. , 지정된 데이터베이스 사용자 이름, 비밀번호, 데이터베이스 이름 및 SSH 터널용으로 구성된 포트 번호를 사용합니다.
위 내용은 PHP의 SSH 터널을 통해 원격 MySQL 서버에 안전하게 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!