试着
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
得到
错误1064(42000):你有一个错误的SQL语法;查看手册
对应于你的MySQL服务器版本,正确的语法使用'IDENTIFIED BY 'root' WITH GRANT OPTION'在第一行。
注意:在以前的版本中尝试时,相同的工作。
也试过
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
得到
错误1410(42000):不允许使用GRANT创建用户
MySQL(8.0.11.0)用户名/密码为root/root。
以我为例,我想做一些类似的事情,我遵循了这里的一些步骤,但最好的方法是@星云提到的:
USE mysql;
CREATE USER 'user'@'localhost' IDENTIFIED BY 'P@ssW0rd';
GRANT ALL ON *.* TO 'user'@'localhost';
FLUSH PRIVILEGES;
在这之后,我遇到了一个错误,而试图查询数据库或连接SQLTools从VSCode。
客户端不支持服务器请求的认证协议;考虑升级MySQL客户端
运行这个查询将修复这个问题:
ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Your_newP@s$w0Rd';
我还想提到的是,这些步骤在本地环境中是可以工作的,在生产环境中执行某些操作时,建议将每个用户分配到每个数据库,并相应生成密码,如果需要,还可以采取不同的其他安全措施。
1)这对我很管用。首先,创建一个新用户。示例:用户名为foo,密码为bar
> mysql> CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
2)将下面的代码替换为用户名'foo'。
> mysql> GRANT ALL PRIVILEGES ON database_name.* TO'foo'@'localhost';
注意:database_name是你想要拥有权限的数据库。意思是所有对所有
3)以foo用户登录
mysql> mysql -u foo -p
密码:酒吧
4)确保你的初始连接从Sequelize设置为foo与pw bar。