Webサーバーをリモートデータベース(Mysql)に接続しようとしています。 yii2上に構築されているWebアプリケーションで接続が行われています。Yii2リモートデータベース接続の問題
すべてのユーザーの詳細を作成し、すべての権限を許可し、すべてのホスト(%)からの接続を許可しました(これを逐次的にトラブルシューティングします)。
ここでは、HeidiSQLを使用して家庭から接続するか、問題なしでMysql Workbenchを使用して接続できます。 私は自宅で空のyii2サイトを作成してもすぐに動作しますが、Webサーバーにサイトを即座にアップロードすると同じ問題が発生します。
私はDBサーバでnetstatを実行した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
:
Iは/ etc 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個の情報を読んでいると驚いています。私はfeそのパーミッションの問題が解消されました。
自分のPDOラッパーを使ってみたこともありますので、99%はYii2の問題ではないと確信しています。
私が以前にdownvoteを持っていたので十分な情報を提供してくれたらと思っています。
mysqlを使用すると、リモートから接続できますか?リモートのmysql接続を有効にしますか? –
上記のように、リモート接続が有効になっており、実際には問題なく家に接続できます。 –
netstatにポート3306はないはずですか?ああ、それは7999に設定されています。 – Bizley