mysql8报错[ERR] 1044 - Access denied for user 'root'@'%' to database 'twotickets'
时间: 2023-08-22 15:06:58 浏览: 91
这个错误通常是由于 MySQL 8 默认启用了更严格的权限控制所致。在 MySQL 8 中,'root'@'%' 用户只能连接到默认的 'mysql' 数据库,而不能直接连接到其他数据库。
要解决这个问题,你可以尝试以下几种方法:
1. 创建一个新的用户,并为该用户授予对 'twotickets' 数据库的访问权限。你可以使用以下命令在 MySQL 8 中创建用户并授权:
```sql
CREATE USER 'new_user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON twotickets.* TO 'new_user'@'%';
FLUSH PRIVILEGES;
```
在上面的命令中,将 'new_user' 替换为你想要创建的新用户名,将 'password' 替换为密码,将 'twotickets' 替换为你要授权的数据库名称。
2. 如果你仍然想要使用 'root' 用户连接到 'twotickets' 数据库,可以通过修改 MySQL 配置文件来禁用严格模式。在配置文件中,找到并注释掉以下行:
```ini
# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
```
然后重新启动 MySQL 服务。
请注意,在生产环境中直接使用 'root' 用户连接到数据库是不安全的做法。推荐的做法是创建一个专门用于应用程序连接的用户,并为该用户授予适当的权限。
希望这些方法能够帮助你解决问题。如果问题仍然存在,请提供更多详细信息,以便我可以更好地帮助你。
阅读全文