gpt4 book ai didi

mysql - 如何通过 bash 创建新的 mysql 数据库/架构?

转载 作者:行者123 更新时间:2023-11-29 15:44:36 25 4
gpt4 key购买 nike

我正在编写一个 bash 脚本来基于现有数据库创建一个新的空 mysql 数据库。我的计划是执行以下步骤:

  1. 使用用户定义的名称创建一个空白数据库
  2. 通过从现有数据引入数据结构,使用 mysql dump 填充该数据库

我可以通过 root 用户创建新数据,但需要非 root 用户能够使用该数据库。我的问题是在我尝试向非 root 用户授予权限的步骤中。

我收到的错误是:

ERROR 1045 (28000) at line 1: Access denied for user 'root'@'%' (using password: YES)

这是我的 bash 代码片段:

# drop database, if previous one exists
mysql -h ${DB_HOST} -u ${DB_USER_ROOT} -p${DB_PASSWORD_ROOT} -e "drop database if exists ${target_db}"
echo "dropped the DB"

# create a new database
mysql -h ${DB_HOST} -u ${DB_USER_ROOT} -p${DB_PASSWORD_ROOT} -e "create database if not exists ${target_db}"
echo "created new DB"

sudo mysql -h ${DB_HOST} -u ${DB_USER_ROOT} -p${DB_PASSWORD_ROOT} -e "GRANT ALL PRIVILEGES ON *.* TO '${DB_USER}'@'${DB_HOST}' with grant option;"
echo "granted permissions"


mysql -h ${DB_HOST} -u ${DB_USER_ROOT} -p${DB_PASSWORD_ROOT} -e "FLUSH PRIVILEGES;"
echo "flushed permissions"

我希望能够使用非 root ${DB_USER} 来使用新创建的数据库

最佳答案

好吧,没关系。我找到了解决方案。那 。在“GRANT ALL PRIVILEGES ON . TO”中是麻烦制造者。我将其更改为 .* 并且工作正常。

关于mysql - 如何通过 bash 创建新的 mysql 数据库/架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57206934/

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