(我的第一个问题,所以如果我藐视任何公约,我就提前道歉!)
这是我第一次尝试创build一个shell脚本。 我试图创build新的数据库和用户和密码,通过在命令行中指定它们以及shell脚本。 我的root用户名和密码是在shell脚本中指定的。 这是我的shell脚本这样做:
#! / bin / sh的
#创build表格
- (windows)重置或更改用户名和密码login到另一台计算机(samba / linux)在局域网上
- watchguard fb x10和x15密码重置
- openldap:如何实现密码策略?
- 更改cadmin的密码
- 密码保护阿帕奇vhost +反向代理
masteruser = “根”
masterpassword = “dumbpassword”
#在命令行上需要一个参数
如果[$#-ne 3]; 然后
echo "Usage: createdb.sh dbname dbuser dbpassword"; exit 1;科幻
DBNAME = “$ 1”
DBUSER = “$ 2”
DBPASSWORD = “$ 3”
#echo $ dbname
#echo $ dbuser
#echo $ dbpassword
mysql -u“$ masteruser”-p“$ masterpassword”<< EOF
创build数据库$ 1; 授予$ 1. *到'$ 2',由'$ 3'标识;
刷新特权
EOF
我从命令行运行这样的:
./shellscriptname.sh newdbname newdbuser newdbpassword
运行这个脚本(创build数据库成功)多次后,当我尝试连接,发生这种情况:
#mysql –user root –password dumbpassword
input密码:错误1049(42000):未知数据库'dumbpassword'
我不知道为什么会这样。 (注意:刷新特权后没有分号)
为什么它不再工作? 我很好奇,因为我找不到我的脚本有任何问题。 这也不是工作:
mysql -u root -p dumbpassword
我更感兴趣的是找出为什么会发生这种情况,而不是解决问题。 所以我想我会问这位大师!
你应该使用以下
mysql --user root --password=dumbpassword
要么
mysql -u root -pdumbpassword
请注意,-p / – 密码和密码本身之间没有空格。
login到mysql的正确格式是:
mysql -u username -p mydbname
这使您可以login到数据库“mydbname”。 相反,你已经通过密码作为数据库名称,所以mySQL告诉你,它不能find数据库“dumbpassword”
尝试这个:
mysql -u username -p
这将允许您在提示input密码后login到mysql,然后您可以select数据库:
use mydbname
如果你在没有u / p开关的情况下运行mysql,它将从当前上下文中获取用户名和密码。