我写了一个批处理脚本,但它仍然要求我输入密码。我想自动输入它。请帮帮我
这是我的批处理脚本:
setlocal EnableDelayedExpansion
c:
cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"
mysql -u root -p root
但仍然在输出中它要求输入密码:
输入密码:
我得到了答案。在我的评论下面找到
答案 0 :(得分:4)
选项和密码之间不能有空格。所以它应该是:
mysql -u root -proot
或使用--password=root
答案 1 :(得分:2)
对于像我这样的其他google,我会添加我的解决方案。 不幸的是,官方文档并没有清楚地说明这一点
mysqldump -uroot -p "qwerty" mybase > Z:\mybase.sql
mysqldump --user="root" --password="qwerty" mybase > Z:\mybase.sql
echo 'Backup OK' > mysql_dump.log
答案 2 :(得分:1)
解决问题得到解决方案
C:
cd“C:\ Program Files \ MySQL \ MySQL Server 5.5 \ bin”
mysql -uroot -proot -e“从db.tablename中删除columnname = '东西';
问题出在这一行"setlocal EnableDelayedExpansion"
这应该删除。并且代码运行顺利:)
答案 3 :(得分:0)
AFAIK你不能使用mysql bin做到这一点,但mysqladmin可以。
请参阅此处的文档:http://dev.mysql.com/doc/refman/5.5/en/mysqladmin.html
答案 4 :(得分:0)
-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}
窗口:
使用批处理脚本发送root.cnf文件并运行
"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql" --defauls-file=root.cnf -e "SELECT * FROM users;" %MYDB%
答案 5 :(得分:0)
尝试这个创建一个密码.pw及以下命令的文件批处理工作。 mysql --default-file = C:\ path * .pw -u%username%blah blah ..
答案 6 :(得分:0)
您最好的选择是使用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开始,您可以使用生成.mylogin.cnf的mysql_config_editor实用程序,它与上述应用程序具有相同的结果,并且附加的好处是密码将由实用程序加密。
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
答案 7 :(得分:0)
这对我有用,将其放在.bat文件中,然后使用您的密码更改密码。
@echo OFF
setlocal EnableDelayedExpansion
C:
cd "C:\xampp\mysql\bin\"
mysql.exe --user="root" --password="the password"