Mysql添加用户进行远程访问

标签 mysql remote-access

我使用 password 'password 创建了用户 user@'%'。但我无法连接:

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

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

最佳答案

为了远程连接,您必须让 MySQL 将端口 3306 绑定(bind)到 my.cnf 中您机器的 IP 地址。然后,您必须在 localhost 和 '%' 通配符中创建用户并授予对所有 DB 的权限,如 见下文:

my.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添加用户进行远程访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16287559/

相关文章:

php - 如何编辑多维关联数组中的键/值对?

MySQL TIMEDIFF 负值

ejb - 如何从远程客户端访问实体 bean?

java - 使用 Eclipse Java : Can I run code/tests from within another JVM?

powershell - 使用 Powershell 远程验证注册表项

mysql - 使用 CONCAT 显示空值将多列中的值更新为一列

mysql - 在 MySQL 9.0 的存储过程/例程中定义用户变量

php - 嵌套的 FOREACH 语句没有按我的预期工作

php - 将远程数据库备份到本地

ftp - 使用远程 FTP 原子包和私钥发出与服务器的连接