📅  最后修改于: 2023-12-03 15:37:56.787000             🧑  作者: Mango
在使用 MySQL 命令行连接 MySQL 数据库时,可能会遇到需要输入密码的情况。如果直接在命令行中输入密码,不仅不安全,而且密码可能被记录在命令历史中。因此,建议使用以下方法传递密码:
--password
选项使用 --password
选项可以直接在命令行中传递密码。示例命令如下:
mysql -u root -p --password=your_password
其中,-p
选项表示需要密码,--password
选项指定密码,your_password
需要替换为你设置的 MySQL 密码。在命令执行后,系统会提示你输入 MySQL 用户名后,再输入密码。
--password-file
选项使用 --password-file
选项可以指定一个包含密码的文本文件。示例命令如下:
mysql -u root --password-file=/path/to/file
其中,--password-file
选项指定密码文件的路径。该文件应该只有数据库管理员可以读取和写入。文件中只需包含一个单行密码,且无需密码双引号或单引号。
.mylogin.cnf
文件使用 mylogin.cnf
文件可以安全地保存 MySQL 凭据。该文件使用加密和系统用户权限控制来保护密码。示例文件如下:
[client]
host = localhost
user = root
password = your_password
将该文件保存在你的用户主目录下的 .mylogin.cnf
文件,并使用以下命令连接 MySQL :
mysql --login-path=local
其中,--login-path=local
选项指定了连接细节,local
是自定义名字,它会告诉 mysql 取出 login path 是 "local" 的选项组来建立连接。连接成功之后,你可以在该 MySQL 实例中执行所有查询。
这里需要注意的是,使用该方法连接 MySQL 后不需要输入密码,而是使用保存在 .mylogin.cnf
文件中的密码。
对于使用 MySQL 命令行连接 MySQL 数据库时需要传递密码的情况,建议使用 --password
选项、--password-file
选项或 .mylogin.cnf
文件。这些方法不仅更安全,而且也更方便。