Mysql dbを新しいバージョンのubuntu(15.04)が実行されているアップグレードされたサーバーに移動しようとしています。LAMPをインストールした後、my.cnfファイルのバインドアドレスを編集しました。以下は、/ etc/mysql/my.cnfに表示されるすべてです。 [mysqld]とバインドアドレス=新しいアドレスを追加しましたが、リモートクライアントがこのdbに接続することはできません。オンラインであり、IPアドレスは正しいはずです。何が欠けていますか?なぜこれがmy.cnfなのか?
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
愚かな私、どうやらこのバージョンでは/etc/mysql/mysql.conf.d/の下のmysqld.cnfです。しかたがない。他の誰かが問題を抱えている場合に備えてこれを投稿する.....
Ubuntu 15.04では、MySQLサーバーの構成ファイルは次の場所にあります。
/etc/mysql/mysql.conf.d/mysqld.cnf
発見できる bind-address
here。コメントして、MySQLサーバーを再起動します。
service mysql restart
その後、他のコンピューターからMysqlServerにアクセスできます。そうでない場合は、おそらく、使用するユーザーに何らかの権限を付与する必要があります。
MySQLサーバーのバインドアドレスの使用を確認できます。
netstat -tap | grep mysql
したがって、構成が有効かどうかがわかります。
Linuxディストリビューションによっては、my.cnf(およびその他のデータディレクトリ)が/ var/lib/mysqlフォルダーにある場合があります。
また、findコマンドを実行して、ファイルfind -name 'my.cnf'
を検索することもできます。このコマンドは、ルートディレクトリのルートとして実行することをお勧めします。
正しいmy.cnfファイルを見つけたら、[mysqld]
セクションの下に次のようなパラメーターがあります。
bind-address = 127.0.0.1
このパラメーターを#
でコメント化し、編集したmy.cnfファイルを保存します。 Mysqlサーバーを再起動すると、正しいアクセス許可とHost(%
)として接続しようとしているユーザーであれば、どのIPからでもリモートで接続できるはずです。
次のコマンドを実行して確認できます:select user, Host from mysql,user;
およびshow grants for 'youruser'@'yourhost';
Mysql の権限と特権。