Linuxにはインストール直後から特定のアカウントが存在します。ディストリビューションにもよりますが、「root」や「nobody」など一般的なものから「games」のような存在意義のよくわからないもの、標準ではないもののWebサーバーなら存在する可能性の高い「apache」などがあります。
Red Hat Enterprise Linux の標準システムユーザーアカウントの説明と目的 - Red Hat Customer Portal
すべての標準システムユーザーの簡単な説明はどこで確認できますか? 次のシステムユーザーアカウントの情報はどこで確認できますか: shutdown、reboot、halt、sync、uucp、ftp、gopher、games、pcap (tc...
これら同名のユーザーアカウントをMySQLのユーザー名として使用するとどうなるのでしょうか?実は外部からの接続に大変苦労することになります。
具体的には、ローカルに「games」というLinuxアカウントが存在する環境からリモートのMySQLサーバーに同名のMySQLアカウントでログインしようとすると、ローカルのLinuxアカウントを指定したものとして扱われ、接続先に「192.168.0.6」を指定しているのにローカルに接続できないとのエラーが出る謎の状況に陥ります。
user@localhost:~$ mysql -h 192.168.0.6 -u games -p
Enter password:
ERROR 1045 (28000): Access denied for user 'games'@'localhost' (using password: YES)
普通はローカル接続以外でMySQLのルートユーザーを使用することはないはずですし、MySQLのユーザー名として「nobody」を使うこともないはずです。しかし「mail」「news」「games」あたりとなると…?DB名にこれらを使用したうえで同名のユーザーを作成するなんてことがありそうです。…ありました。
なお、Rubyなどを介してMySQLクライアントを呼び出している場合でも同様の問題が発生します。
回避する方法もあるにはあるようですが、まずはユーザー名を変更するのが安全かと思います。
Host 'xxx.xx.xxx.xxx' is not allowed to connect to this MySQL server
This should be dead simple, but I cannot get it to work for the life of me.I'm just trying to connect remotely to my MyS...