MySQL 256文字
Oracle 30文字
PostgreSQL 制限なし
SQL Server 128文字
(8.0.31)
マニュアル記載なし
実機確認したところ、最大長は256文字
create user 'user1'@'%' identified by 'user1';
alter user 'user1'@'%' identified by '1234567890';
alter user 'user1'@'%' identified by '1234561234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890';
alter user 'user1'@'%' identified by '12345671234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890';
256文字 -> OK
257文字 -> ERROR 1396 (HY000): Operation ALTER USER failed for 'user1'@'%'
(19c)
-- 1. ユーザーパスワード
マニュアル記載なし
実機確認したところ、最大長は30文字
create user user1 identified by user1;
alter user user1 identified by 1234567890;
alter user user1 identified by 123456789012345678901234567890;
alter user user1 identified by 1234567890123456789012345678901;
30文字 -> OK
31文字 -> ORA-00972: 識別子が長すぎます。
-- 2. ダンプファイルの暗号化パスワード(ENCRYPTION_PASSWORD)
暗号化パスワードに許容される最大長は、通常は128バイトです。
(15)
https://qiita.com/tameguro/items/1881b8d5610d67fce15f
調べた限り上限はない模様
実機確認したところ、1億文字もOK
create user user1 with login encrypted password 'user1';
alter user user1 with login encrypted password '1234567890';
: > a.sql
echo -n "alter user user1 with login encrypted password '" >> a.sql
for i in {1..10000000}; do
echo -n "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
done >> a.sql
echo -n "';" >> a.sql
\timing 1
\i a.sql
1千万文字 -> OK
1億文字 -> OK 時間: 951106.182 ミリ秒(15:51.106)
(2019)
パスワードには最大 128 文字まで使用できます。
create login user1 with password='Xx!Xx!Xx!123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890', default_database=test;
→ メッセージ 15156、レベル 16、状態 1、行 1
指定したパスワードが長すぎます。パスワードは 128 文字以下で指定してください。
create login user2 with password='Xx!Xx!Xx123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890', default_database=test;
→ OK