내 웹 서버를 원격 데이터베이스 (MySQL)에 연결하려고합니다. yii2에 구축 된 웹 응용 프로그램에서 연결이 발생합니다.Yii2 원격 데이터베이스 연결 문제
모든 사용자 세부 정보를 작성하고 모든 호스트에 권한을 부여하고 모든 호스트로부터 허용 된 연결 (%) (점진적으로 문제를 해결합니다).
이제 가정에서 HeidiSQL을 사용하거나 Mysql Workbench를 사용하여 문제없이 연결할 수 있습니다. 집에서도 빈 yii2 사이트를 만들었지 만 즉시 작동하지만 사이트를 웹 서버에 즉시 업로드하면 동일한 문제가 발생합니다.
Database Exception – yii\db\Exception
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '46.105.111.111' (110)
↵
Caused by: PDOException
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '46.105.111.111' (110)
in /home/xxxxxxx/xtest.xxxxxxxx.tv/vendor/yiisoft/yii2/db/Connection.php at line 602
것은 내가 DB 서버에서 netstat 실행 한 :
내가 겪었을 등/mysql을/my.cnf의
<pre>[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 7999
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
#bind-address = *
key_buffer = 16M
max_allowed_packet = 64M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
max_connections = 65535
open-files-limit = 65535
max_connect_errors = 65535
innodb_buffer_pool_size = 1G
table_open_cache = 1000
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
tmp_table_size = 256M
max_heap_table_size = 256M
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M</pre>
나는 iptables를 살펴 보았다 :
나는 mysql 보안에 관한 약 20 개의 정보를 읽었을 때 완전히 혼란 스럽다. 권한 문제가 발생했습니다.
나는 심지어 내 자신의 PDO 래퍼를 사용해 보았습니다. 그래서 99 % 확실한 Yii2 문제가 아니라면 정말 도움이됩니다.
바라기를 나는 충분히 downvote를 가지고 있기 때문에 충분한 정보를 제공했다.
mysql을 사용하여 원격으로 연결할 수 있습니까? 당신은 원격 mysql 연결을 켭니까? –
예, 위와 같이 원격 연결이 활성화되어 있고 사실상 집에서 문제없이 연결할 수 있습니다. –
netstat에 포트 3306이 없어야합니까? 오, 맞습니다. 7999로 설정되었습니다. – Bizley