Webサーバー(Debian 7)を構成しようとしています。私はこれに従いました tutorial 。 gandi.netサービスのおかげでサーバーをレンタルしています。そして今、Apache2、mysql、php5が稼働しています。ターミナルで次のコマンドを使用して接続します:ssh [email protected]
次のステップは、sequel proを使用してデータベースを作成することです。その方法はわかりませんが、ドキュメントはそれほど明確ではありません。
私は接続しようとしました:
残りについては、そのままにしておき、このエラーメッセージを受け取りました:
ホストdomainname.comに接続できないか、要求がタイムアウトしました。
アドレスが正しいこと、および必要な特権を持っていることを確認するか、接続タイムアウト(現在は10秒)を増やしてみてください。
MySQLによると: 'domainename.com'(61) '(2)のMySQLサーバーに接続できません
どのように私はそれを行うことができますか?
MySQLをDebianに通常インストールすると、データベースへの外部接続をブロックするように構成されます。
これは、外部アクセスがOKであることをMySQLに伝える必要があることを意味します。これを行うには、MySQLのバインドアドレスを更新する必要があります。これはmy.cnf
で設定され、Debianベースのシステムでは/etc/mysql/my.cnf
にあります。
そこに、というセクションを見つけます
[mysqld]
そこに、あなたはそれを確認する必要があります
skip-networking
行はコメント化されている(コメントは '#'で始まる)か、そうでない0.0.0.0
(回線バインドアドレスがない場合)またはサーバーのIPアドレスに設定されます。これを行った後、MySQLサービスを再起動する必要があります。次に、リモートアクセスが許可されているユーザーを作成する必要があります。これは、SQLクエリを使用して実行できます。
GRANT ALL ON yourdatabase.* TO youruser@'*' IDENTIFIED BY 'yourpassword';
毎回同じである場合、接続元のIPアドレスのアスタリスクを切り替えることができます。
最後に、ファイアウォールでポート3306(MySQLが使用するポート)を開く必要があります。ほとんどのシステムで既に開かれているため、これは通常必要ありませんが、次のiptablesコマンドを使用して実行できます。
/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
service iptables save
ソース: 1
これは私のために働いた解決策です:Debian 7で/etc/mysql/my.cnfの下の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 = 127.0.0.1
127.0.0.1
をmysqlサーバーのIPアドレス、接続したい、または0.0.0.0
制限なし。
.cnfファイルを見つけようとしていたので、次のことを行いました。
Sudo find / -name "*.cnf"
/etc/mysql/mysql.conf.d/mysqld.cnf
/etc/mysql/my.cnf
/etc/mysql/mysql.cnf
/etc/mysql/conf.d/mysqldump.cnf
/etc/mysql/conf.d/mysql.cnf
私は/ etc/mysql/mysql.conf.d/mysqld.cnfに基づいて編集しました
strace mysql ";" 2>&1 | grep cnf
stat("/etc/my.cnf", 0x7ffda9472660) = -1 ENOENT (No such file or directory)
stat("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=683, ...}) = 0
open("/etc/mysql/my.cnf", O_RDONLY) = 3
stat("/etc/mysql/conf.d/mysql.cnf", {st_mode=S_IFREG|0644, st_size=8, ...}) = 0
open("/etc/mysql/conf.d/mysql.cnf", O_RDONLY) = 4
stat("/etc/mysql/conf.d/mysqldump.cnf", {st_mode=S_IFREG|0644, st_size=55, ...}) = 0
open("/etc/mysql/conf.d/mysqldump.cnf", O_RDONLY) = 4
stat("/etc/mysql/mysql.conf.d/mysqld.cnf", {st_mode=S_IFREG|0644, st_size=3034, ...}) = 0
open("/etc/mysql/mysql.conf.d/mysqld.cnf", O_RDONLY) = 4
stat("/etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf", {st_mode=S_IFREG|0644, st_size=21, ...}) = 0
open("/etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf", O_RDONLY) = 4
stat("/root/.my.cnf", 0x7ffda9472660) = -1 ENOENT (No such file or directory)
stat("/root/.mylogin.cnf", 0x7ffda9472660) = -1 ENOENT (No such file or directory)
bind-addressをローカルIPアドレスに変更しました。
locate my.cnf
vi /usr/local/etc/my.cnf
# Default Homebrew MySQL server config [mysqld] # Only allow connections from localhost bind-address = 0.0.0.0
次に、ボタン=> escおよび:wq(viコマンド)を押します
MySQLを再起動します=>
Sudo /usr/local/mysql/support-files/mysql.server stop
Sudo /usr/local/mysql/support-files/mysql.server start
いいよ...
ターミナルでこの行を実行するだけで問題を修正します
ALTER USER 'your_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
your_user = root
私のためにyour_password = something
好きなものを選択してください
Sudo vim/etc/ssh/sshd_config
ファイルhttpd.confのlocalhostを次のように設定します
ServerName localhost
または、ポートがサーバーリクエストを受け入れず、サーバーip_addressに接続できないと表示されます