📜  如何传递密码 mysql 命令行 - SQL (1)

📅  最后修改于: 2023-12-03 15:37:56.787000             🧑  作者: Mango

如何传递密码 MySQL 命令行 - SQL

在使用 MySQL 命令行连接 MySQL 数据库时,可能会遇到需要输入密码的情况。如果直接在命令行中输入密码,不仅不安全,而且密码可能被记录在命令历史中。因此,建议使用以下方法传递密码:

1.使用 --password 选项

使用 --password 选项可以直接在命令行中传递密码。示例命令如下:

mysql -u root -p --password=your_password

其中,-p 选项表示需要密码,--password 选项指定密码,your_password 需要替换为你设置的 MySQL 密码。在命令执行后,系统会提示你输入 MySQL 用户名后,再输入密码。

2.使用 --password-file 选项

使用 --password-file 选项可以指定一个包含密码的文本文件。示例命令如下:

mysql -u root --password-file=/path/to/file

其中,--password-file 选项指定密码文件的路径。该文件应该只有数据库管理员可以读取和写入。文件中只需包含一个单行密码,且无需密码双引号或单引号。

3.使用 .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 文件。这些方法不仅更安全,而且也更方便。