Quantcast
Channel: Planet MySQL
Viewing all articles
Browse latest Browse all 1081

MySQL 5.7.5でsecure-authが軒並み使えなくなるはなし

$
0
0
みんなだいすき(?)、MySQL 4.0以前の古い16桁ハッシュで保存されたパスワードで認証するために必要な --secure-auth が5.7.5でついに非推奨になりました。
http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_secure-auth
が、「非推奨になったよ。そのうち消える。オプションはパースされるけど無視されるようになった!」というマニュアルの記載はアレで、実際はちょっと下に引用文っぽく書かれている「--secure-auth=0 や--skip-secure-auth を指定すると起動しません」の方が正しい。

mysqldのみならず同梱されているCLI類は全てそうなっています。

$ bin/mysqld --no-defaults --datadir=./data --skip-secure-auth
2014-10-16T06:05:04.604270Z 0 [Warning] The syntax '--secure-auth' is deprecated and will be removed in a future release
2014-10-16T06:05:04.604334Z 0 [ERROR] Unsupported value 0 for secure-auth
2014-10-16T06:05:04.604341Z 0 [ERROR] Aborting

2014-10-16T06:05:04.604357Z 0 [Note] Binlog end

$ bin/mysql --no-defaults --skip-secure-auth
WARNING: --secure-auth is deprecated and will be removed in a future version
bin/mysql Ver 14.14 Distrib 5.7.5-m15, for linux-glibc2.5 (x86_64) using EditLine wrapper
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Usage: bin/mysql [OPTIONS] [database]
..

$ bin/mysqldump --no-defaults --skip-secure-auth
WARNING: --secure-auth is deprecated and will be removed in a future version
mysqldump Ver 10.13 Distrib 5.7.5-m15, for linux-glibc2.5 (x86_64)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Dumping structure and contents of MySQL databases and tables.
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
..


このクライアントがダメになるやつ、ワーニング出したあとsecure-authの値が不正だってことを一切出力 *せずに* usageを表示して抜ける。これイヤだ。

$ grep -A4 -r 'if (!opt_secure_auth)' client/
client/mysqlimport.c: if (!opt_secure_auth)
client/mysqlimport.c- {
client/mysqlimport.c- usage();
client/mysqlimport.c- exit(1);
client/mysqlimport.c- }
--
client/mysqladmin.cc: if (!opt_secure_auth)
client/mysqladmin.cc- {
client/mysqladmin.cc- usage();
client/mysqladmin.cc- exit(1);
client/mysqladmin.cc- }
--
client/mysql.cc: if (!opt_secure_auth)
client/mysql.cc- {
client/mysql.cc- usage(0);
client/mysql.cc- exit(1);
client/mysql.cc- }
--
client/check/mysqlcheck.cc: if (!opt_secure_auth)
client/check/mysqlcheck.cc- {
client/check/mysqlcheck.cc- usage();
client/check/mysqlcheck.cc- exit(1);
client/check/mysqlcheck.cc- }
--
client/mysqlshow.c: if (!opt_secure_auth)
client/mysqlshow.c- {
client/mysqlshow.c- usage();
client/mysqlshow.c- exit(1);
client/mysqlshow.c- }
--
client/mysqlbinlog.cc: if (!opt_secure_auth)
client/mysqlbinlog.cc- {
client/mysqlbinlog.cc- usage();
client/mysqlbinlog.cc- exit(1);
client/mysqlbinlog.cc- }
--
client/mysqlslap.c: if (!opt_secure_auth)
client/mysqlslap.c- {
client/mysqlslap.c- usage();
client/mysqlslap.c- exit(1);
client/mysqlslap.c- }
--
client/mysqldump.c: if (!opt_secure_auth)
client/mysqldump.c- {
client/mysqldump.c- usage();
client/mysqldump.c- exit(1);
client/mysqldump.c- }


16桁ハッシュってそもそも何語? 対処は? っていうのはこちらあたりを。
昔っぽいMySQLにmysql2とかからつなぎにいくと怒られる件の対処 - Qiita
日々の覚書: MySQL5.6とMySQL5.0のレプリケーションでI/OスレッドがError: 2049


【2014/10/16 16:29】
old-passwords=1もダメになってますね。SHA256を使うold-passwords=2とかいうのも5.6で追加されてる。。(それ、そのオプション名でいいのか)

http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_old_passwords
PlanetMySQL Voting: Vote UP / Vote DOWN

Viewing all articles
Browse latest Browse all 1081

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>