【问题标题】:Cannot Create mylsq user and password using ssh on remote server无法在远程服务器上使用 ssh 创建 mylsq 用户和密码
【发布时间】:2019-09-07 16:50:30
【问题描述】:

运行以下命令时出现错误。我正在尝试创建一个 bash 脚本

ssh -i ~/.ssh/cmm.key root@192.168.1.55 "mysql -u root -p'0tYP62V40szokdzxGRXTLT4Czrg' -e 'CREATE USER sial@localhost IDENTIFIED BY 'sial@123';'"

ERROR 1064 (42000) at line 1:您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“sial@123”附近使用的正确语法

尝试转义

ssh -i ~/.ssh/cmm.key root@192.168.1.55 "mysql -u root -p'0tYP62V40szokdzxGRXTLT4Czrg' -ev 'CREATE USER \'sial\'@\'localhost\' IDENTIFIED BY \'sial@123\';'"

错误

ERROR 1049 (42000): Unknown database 'CREATE USER sial@localhost IDENTIFIED BY /sial@123/;

【问题讨论】:

  • 您应该为该字符串添加一些转义,例如。通过IDENTIFIED BY \'sial@123\'
  • 试过但没用
  • 究竟尝试过什么?是否有新的错误消息?
  • 当我进入详细模式时,我看到 ssh -i ~/.ssh/cmm.key root@192.168.1.55 "mysql -u root -p'0tYP62V40szokdzxGRXTLT4Czrg' -ev 'CREATE USER sial@localhost IDENTIFIED BY 'sial@123';'" ERROR 1049 (42000): Unknown database 'CREATE USER sial@localhost IDENTIFIED BY sial@123;'
  • 请将所有此类说明添加到问题本身,而不是评论部分。给定的命令仍然没有使用任何转义

标签: mysql


【解决方案1】:

只需创建一个 shell 脚本。 在脚本中使用反引号

我的命令.sh

ssh -i ~/.ssh/cmm.key root@192.168.1.55 `mysql -u root -p'0tYP62V40szokdzxGRXTLT4Czrg' -e "CREATE USER sial@localhost IDENTIFIED BY 'sial@123';"`

然后像这样运行shell脚本, sh mycommand.sh

【讨论】:

  • 它可以工作,但它确实登录到另一台服务器。我不想登录他们,而是应该在源服务器本身上执行。
  • 不,我试图在不实际导航到目标服务器的情况下执行此命令。请参阅我执行的以下命令,它可以在没有实际导航到目标服务器的情况下工作。 ssh -i ~/.ssh/cmm.key root@$destination_ip "mysql -u root -p'0tYP62V40szokdzxGRXTLT4Czrg' -e 'CREATE DATABASE sial /*\!40100 DEFAULT CHARACTER SET utf8 */;'"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 2022-07-11
  • 1970-01-01
  • 2017-02-11
  • 2012-09-02
相关资源
最近更新 更多