如何使用批处理脚本在mysql 5.5中输入密码?

时间:2012-03-02 15:20:51

标签: mysql batch-file

我写了一个批处理脚本,但它仍然要求我输入密码。我想自动输入它。请帮帮我

这是我的批处理脚本:

setlocal EnableDelayedExpansion
c:
cd "C:\Program Files\MySQL\MySQL Server 5.5\bin"

mysql -u root -p root

但仍然在输出中它要求输入密码:

  

输入密码:

我得到了答案。在我的评论下面找到

8 个答案:

答案 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

你们都准备好了!

N.B。

从版本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"