使用硬编码密码访问远程MySQL主机

如何编写一个用于访问远程MySQL服务器的bash命令?

如果我尝试

mysql -host 10.1.1.20 -port 3306 -u root -p 1234 

它会提示input密码,input密码后1234当作数据库名称,并声称没有这样的数据库。

请改用--password=语法。 实际上,也应该使用--database=语法。 在脚本中,我更喜欢显式的,长forms的选项,因为它们更自我logging。

正如Geoff Fritz所说,你可以使用--password=语法,但这是不安全的。 你最好使用MySQLconfiguration文件,如下所示:

 [client] password=your_pass 

将这个文件.my.cnf ,把它放在你的主目录下,然后给它600个权限,这样你就无法读取它。 请参阅MySQL参考手册 。

只要删除“-p”和密码之间的空格。 即-p1234