我已经编写了一个批处理脚本,但它仍然要求我输入密码。我想自动输入密码,请帮助我。
这是我的批处理脚本:
setlocal EnableDelayedExpansion
c:
cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"
mysql -u root -p root
但是在输出中仍然会要求输入密码:
输入密码:
我找到了答案。请参见我的评论。
我已经编写了一个批处理脚本,但它仍然要求我输入密码。我想自动输入密码,请帮助我。
这是我的批处理脚本:
setlocal EnableDelayedExpansion
c:
cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"
mysql -u root -p root
但是在输出中仍然会要求输入密码:
输入密码:
我找到了答案。请参见我的评论。
mysql -u root -proot
或者使用--password=root
。对于像我一样的其他谷歌用户,我会分享我的解决方案。 不幸的是,官方文档没有清晰地说明这一点。
mysqldump -uroot -p "qwerty" mybase > Z:\mybase.sql
mysqldump --user="root" --password="qwerty" mybase > Z:\mybase.sql
echo 'Backup OK' > mysql_dump.log
问题已解决,找到了解决方案
c:
cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"
mysql -uroot -proot -e "delete from db.tablename where columnname = 'something';
问题出在这一行 "setlocal EnableDelayedExpansion"
,应该删除它,代码就可以顺利运行啦 :)
你最好的选择是使用MySQL选项文件。
MySQL 5.5使用.my.cnf文件,你只需要提供你的用户名和密码。这种方法意味着你可以通过在你的脚本中输入mysql
来登录mysql,而.my.cnf文件将填写剩下的部分;以下是具体步骤:
在运行脚本的用户的主目录中创建一个.my.cnf文件。该文件的内容应该类似于以下代码块,将your_user和your_password替换为实际的值。
[client]
user=your_user
password=your_password
将此文件的权限更改为400或600是明智的,这意味着只有您的用户和root用户才能查看该文件。
chmod 600 .my.cnf
一切准备就绪!
从5.6版本开始,您可以使用mysql_config_editor实用程序生成.mylogin.cnf文件,它具有与上述方法相同的结果,并带有密码将由实用程序加密的附加好处。
MySQL 5.5 https://dev.mysql.com/doc/refman/5.5/en/password-security-user.html
MySQL 5.6+ https://dev.mysql.com/doc/refman/8.0/en/mysql-config-editor.html
@echo OFF
setlocal EnableDelayedExpansion
C:
cd "C:\xampp\mysql\bin\"
mysql.exe --user="root" --password="the password"
-ppassword 显示警告
警告:在命令行界面上使用密码可能不安全。
https://dev.mysql.com/doc/refman/5.7/en/password-security-user.html
解决方案:您可以使用cnf选项文件
https://dev.mysql.com/doc/refman/5.7/en/option-files.html
Linux:
echo -e "[client]\nhost=mysqlhost\nport=3306\nuser=root\npassword=${ROOT_PASS}" > root.cnf
mysql --defauls-file=root.cnf -e "SELECT * FROM users;" ${MYDB}
Windows:
将 root.cnf 文件与批处理脚本一起打包并运行
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql" --defauls-file=root.cnf -e "SELECT * FROM users;" %MYDB%
尝试创建一个名为 password .pw 的文件,并在批处理中使用以下命令运行。mysql --default-file=C:\path*.pw -u %username% 等等...