gpt4 book ai didi

mysql - 授予 mysql 数据库权限时出现特殊字符问题

转载 作者:行者123 更新时间:2023-11-29 11:18:58 27 4
gpt4 key购买 nike

我在尝试通过 t 为 mysql 用户授予数据库权限时遇到了一个问题。我认为这是因为数据库名称中的特殊字符。

这个正在工作:

/usr/bin/mysql -uroot -pXz5eaCqwvsT0pAr0gsf0tg1a -e "GRANT ALL PRIVILEGES ON dev_52000_nycny.* TO 'wp_j-5-1-5_nycny'@localhost"

那个不起作用:

/usr/bin/mysql -uroot -pXz5eaCqwvsT0pAr0gsf0tg1a -e "GRANT ALL PRIVILEGES ON dev_j-5-1-5_nycny.* TO 'wp_j-5-1-5_nycny'@localhost"

我尝试了几种组合,但没有成功:

/usr/bin/mysql -uroot -pXz5eaCqwvsT0pAr0gsf0tg1a -e "GRANT ALL PRIVILEGES ON 'dev_j-5-1-5_nycny'.* TO 'wp_j-5-1-5_nycny'@localhost"

/usr/bin/mysql -uroot -pXz5eaCqwvsT0pAr0gsf0tg1a -e "GRANT ALL PRIVILEGES ON dev_j\-5\-1\-5_nycny.* TO 'wp_j-5-1-5_nycny'@localhost"

/usr/bin/mysql -uroot -pXz5eaCqwvsT0pAr0gsf0tg1a -e "GRANT ALL PRIVILEGES ON 'dev_j\-5\-1\-5_nycny'.* TO 'wp_j-5-1-5_nycny'@localhost"

我应该做什么?

最佳答案

MySQL 使用反引号来引用包含特殊字符的数据库、表和列名称。请参阅When to use single quotes, double quotes, and backticks in MySQL

/usr/bin/mysql -uroot -pXz5eaCqwvsT0pAr0gsf0tg1a -e 'GRANT ALL PRIVILEGES ON `dev_j-5-1-5_nycny`.* TO "wp_j-5-1-5_nycny"@localhost`

确保在 -e 参数周围使用单引号,因为反引号在双引号字符串内时对 shell 具有特殊含义。我还将用户名周围的引号更改为双引号,以适应在整个查询周围使用单引号。

关于mysql - 授予 mysql 数据库权限时出现特殊字符问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39268419/

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