mysql56> CHANGE MASTER TO MASTER_HOST= 'localhost', MASTER_PORT= 64055, MASTER_USER= 'replicatior', MASTER_PASSWORD= 'xxxx', MASTER_LOG_FILE= 'bin.000001', MASTER_LOG_POS= 1; Query OK, 0 rows affected, 2 warnings (0.06 sec) mysql56> SHOW WARNINGS; +-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Level | Code | Message | +-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Note | 1759 | Sending passwords in plain text without SSL/TLS is extremely insecure. | | Note | 1760 | Storing MySQL user name or password information in the master.info repository is not secure and is therefore not recommended. Please see the MySQL Manual for more about this issue and possible alternatives. | +-------+------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) shell> cat data/master.info 23 bin.000001 4 localhost replicatior xxxx 64055 60 0 0 1800.000 0 86400 0
1759は読んだそのまま、パスワードがSSL使わずにマスターに送信されてるぞ、というNote。
1760は、CHANGE MASTER TOでUSER_NAMEとUSER_PASSWORDを指定するとmaster.info(master_info_repository= TABLEならmysql.slave_master_info)に平文で格納されるから危ういぞ、というNote。
どうすればこれが出なくなるかというと、START SLAVEで指定するようにする。
//
mysql56> CHANGE MASTER TO MASTER_HOST= 'localhost', MASTER_PORT= 64055, MASTER_LOG_FILE= 'bin.000001', MASTER_LOG_POS= 1; Query OK, 0 rows affected (0.04 sec) mysql56> START SLAVE USER= 'replicator' PASSWORD= 'xxxx'; --コンマ要らなかったり、MASTER_USERじゃなかったり。 Query OK, 0 rows affected, 1 warning (0.01 sec) mysql56> SHOW WARNINGS; +-------+------+------------------------------------------------------------------------+ | Level | Code | Message | +-------+------+------------------------------------------------------------------------+ | Note | 1759 | Sending passwords in plain text without SSL/TLS is extremely insecure. | +-------+------+------------------------------------------------------------------------+ 1 row in set (0.00 sec) shell> cat data/master.info 23 bin.000001 4 localhost 64055 60 0 0 1800.000 0 86400 0
当然、master.infoにUSERとPASSWORDを保存しなくなるので、mysqldを再起動すると
2013-07-01 19:39:46 16508 [ERROR] Slave I/O: Fatal error: Invalid (empty) username when attempting to connect to the master server. Connection attempt terminated. Error_code: 1593 2013-07-01 19:39:46 16508 [Note] Slave I/O thread killed while connecting to master 2013-07-01 19:39:46 16508 [Note] Slave I/O thread exiting, read up to log 'bin.000001', position 4
こうなる。
まあ、好き好きかな。。
【2013/07/01 19:49】
マニュアルへのリンク忘れてた。。
http://dev.mysql.com/doc/refman/5.6/en/start-slave.html
【2013/07/02 10:19】
このNoteわかりにくいから変えようぜ、というBugsはこちら。
http://bugs.mysql.com/bug.php?id=68602
0 件のコメント :
コメントを投稿