基本思路就是為mysql.user表增加一條記錄:'hadoop'@'%',這樣,任何主機上的用戶'hadoop'都可以遠程連接MySQL數據庫。於是輸入下面的命令:
mysql> INSERT INTO mysql.user(Host,User,Password) VALUES('%','hadoop','1');
結果出現了錯誤:
1364 - Field 'ssl_cipher' doesn't have a default value
這是因為指定了嚴格模式,不能直接往mysql.user表裡面insert用戶:
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
只能輸入下面兩個命令來實現:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' IDENTIFIED BY '1' WITH GRANT OPTION; mysql> FLUSH PRIVILEGES;
這樣,任何主機上的用戶'hadoop'都可以憑借密碼'1'遠程連接MySQL數據庫。