gpt4 book ai didi

mysql - 从 shell 中 grunt 导入数据库

转载 作者:行者123 更新时间:2023-11-29 06:38:50 25 4
gpt4 key购买 nike

我想使用 grunt-shell 将数据库导入远程服务器。

这是我试过的:

shell: {
install_db: {
options: {
stdout: true,
stderr: true
},
command: [
"ssh user@demo.server.it mysql < /Volumes/www/database/mydb.sql --database db_test -u root -p password",
].join("&&")
}
}

在我的远程服务器中,我有一个名为 root 的数据库用户,他拥有所有权限。

当我像这样运行时

grunt shell

我检索到这个错误:

Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

但我认为该用户是正确的。我也试过:

"ssh user@demo.server.it mysql < /Volumes/www/database/mydb.sql --database db_test -u root -p",

"ssh user@demo.server.it",
"sudo mysql < /Volumes/www/database/mydb.sql --database db_test -u root -p password",

没什么,它不会在我的远程服务器中导入我的 sql 文件。

我已经创建了那个数据库。

我该如何解决?

最佳答案

我建议重置 root 密码,这在 Windows 7、MySQL 5.5.37 中对我有用

  • 停止 MySQL 进程/服务

  • 禁用授权表检查:

Windows 中转到

C:\Program Files\MySQL\MySQL Server 5.5\my.ini

Linux

/etc/mysql/my.cnf

在 [mysqld] 部分下添加 skip-grant-tables

[mysqld]
skip-grant-tables
  • 重启MySQL进程/服务

  • 转到 MySQL 提示符,您不需要用户名/密码,因为您已禁用授权表检查

    C:>mysql

  • 执行以下命令,相应地替换'your_secret_password'

    更新 mysql.user SET Password=PASSWORD('your_secret_password') WHERE User='root';刷新权限;

  • 退出MySQL提示符

  • 停止 MySQL 进程/服务
  • 启用授权表检查:从 my.ini 或 my.cnf 中删除该行

    跳过授权表

  • 重启MySQL进程/服务

关于mysql - 从 shell 中 grunt 导入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22830645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com