我用password 'password创建了用户user@'%'.但我无法联系到:

mysql_connect('localhost:3306', 'user', 'password');

当我创建用户user@'localhost'时,我能够连接.为什么?"%"不是指来自任何主机吗?

推荐答案

为了远程连接,您必须在my中将MySQL绑定端口3306连接到您机器的IP地址.cnf.然后,您必须在localhost和"%"通配符中创建用户,并对所有数据库授予权限,如下所示:

我的cnf(windows上的my.ini)

#Replace xxx with your IP Address 
bind-address        = xxx.xxx.xxx.xxx

然后:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

然后:

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
FLUSH PRIVILEGES;

根据您的操作系统,您可能必须打开端口3306才能进行远程连接.

Mysql相关问答推荐

未知变量default-validation-plugin=mysql_native_passenger'

mysql查询汇总数据

正在获取MySQL死锁,因为这个查询需要很长时间.

MySQL没有使用S隐式附加到此二级索引的主键

SQL:CAST与窗口函数组合导致语法错误

插入时发生日期时间字段溢出错误

WordPress的sql命令从帖子中删除随机文本

发生的原因及解决方法

将 JSON 类型的列与特定字符串值进行比较

在 MySQL 中,如何对 LIKE 查询进行批量更新,删除字符?

关于设置为 NOT NULL 时的 CHAR 默认值

如果其中一个表为空,则 mysql 中的查询会给出 0 个结果

Mysql,显示谁已经和没有 Select 退出巴士服务

为什么以及如何将 Django filter-by BooleanField 查询转换为 SQL WHERE 或 WHERE NOT 而不是 1/0?

MySQL Join 查询位置从订单

MySql中的可见索引和不可见索引是什么

查询以从约会表中获取可用空档

Facebook user_id:big_int、int 还是 string?

在网页的 HTML 表中显示 MySQL 数据库表中的值

在 MySQL 中存储 IPv6 地址