mysql> grant all on bbs.* to runbbs@192.168.2.10 identified by "P@ssw0rd1"; ERROR 1290 (HY000): Unknown error 1290
时间: 2024-11-03 17:12:32 浏览: 20
错误代码 1290 通常表示 MySQL 服务器上启用了安全选项,阻止了某些操作。以下是一些可能的原因和解决方法:
1. **SQL_MODE 设置问题**:
- 检查当前的 SQL_MODE 设置是否禁止了某些操作。可以使用以下命令查看当前的 SQL_MODE:
```sql
mysql> SELECT @@GLOBAL.sql_mode;
```
- 如果 SQL_MODE 中包含了 `NO_AUTO_CREATE_USER`,则需要移除它。可以通过修改配置文件(通常是 `my.cnf` 或 `my.ini`)来永久更改 SQL_MODE:
```ini
[mysqld]
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
```
- 也可以在会话中临时更改 SQL_MODE:
```sql
mysql> SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
```
2. **权限问题**:
- 确保执行该命令的用户具有足够的权限。例如,需要 `GRANT OPTION` 权限才能授予其他用户权限。
3. **MySQL 版本问题**:
- 在较新版本的 MySQL 中,`identified by` 关键字可能会导致问题。可以尝试使用 `with` 子句来指定密码:
```sql
mysql> GRANT ALL ON bbs.* TO 'runbbs'@'192.168.2.10' WITH GRANT OPTION IDENTIFIED BY 'P@ssw0rd1';
```
4. **防火墙或网络问题**:
- 确保 MySQL 服务器允许从 IP 地址 `192.168.2.10` 连接。检查防火墙设置和 MySQL 配置文件中的 `bind-address` 参数。
如果以上方法都无法解决问题,请提供更多的环境信息以便进一步诊断。
阅读全文