2011-09-18 29 views
20

MySQLユーザーパスワードの最大長は?最大MySQLユーザーパスワードの長さ

MySQLはPASSWORD(str)を使用して平文パスワードstrを暗号化します。このハッシュされたパスワード文字列はmysql.userグラントテーブルにCHAR(41)データ型で格納されます。

ただし、平文パスワードstrの最大長は何かを見つけることができませんでした。誰も助けることができますか?

+0

これはプログラミングに関する質問ではありません。おそらく、ServerFaultの方が良いでしょうか? –

+3

[パスワード関数](http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html#function_password)を使用しているので、2G程度であると思います。 – NiematojakTomasz

+3

これはプログラミングの質問 – ErichBSchulz

答えて

9

これは私がGoogleで検索するとき、私が見つけリファレンスページです: Link1Link2

あなたは、現在、その一環として、レプリケーションスレーブで使用 パスワードに注意して、MySQLのレプリケーションを使用している場合CHANGE MASTER TO ステートメントは事実上32文字の長さに制限されています。 パスワードが長い場合、余分な文字は切り捨てられます。これは一般的にMySQLサーバによって課される制限のため ではなく、むしろ というMySQLレプリケーション固有の問題です。 5.7.5 changelogで文書(。Bug 43439を参照してください)

修正、次のように

文に変更 MASTERにパスワードのために使用することができる最大の長さは32個の文字であります。以前は、より長い パスワードが使用された場合、余分な長さはサーバーによってサイレントに切り捨てられました( )。パスワードの長さが32 文字を超えると、CHANGE MASTER TOがエラーで失敗します。

パスワードは32文字を超えないようにしてください。

+0

これは、実行するには不愉快なバグでしょう。私は効果的にパスワードの長さを制限することに同意する。 – Chris