我用password 'password
创建了用户user@'%'
.但我无法联系到:
mysql_connect('localhost:3306', 'user', 'password');
当我创建用户user@'localhost'
时,我能够连接.为什么?"%"不是指来自任何主机吗?
我用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才能进行远程连接.