为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL添加用户进行远程访问

MySQL添加用户进行远程访问

RISEBY 2019-10-23 16:21:39
我创建的用户user@'%'使用password 'password。但是我无法连接:mysql_connect('localhost:3306', 'user', 'password');创建user时user@'localhost',我可以连接。为什么?'%'不是来自任何主机吗?
查看完整描述

3 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

请按照说明进行操作(Windows中不需要步骤1至3):


找到mysql配置进行编辑:


/etc/mysql/my.cnf(MySQL 5.5)


/etc/mysql/conf.d/mysql.cnf(MySQL 5.6+)


bind-address=127.0.0.1在配置文件更改中查找bind-address=0.0.0.0(您可以将绑定地址设置为接口ip之一,或者像我一样使用0.0.0.0)


重新启动在控制台上运行的mysql服务: service restart mysql


创建一个具有安全密码的用户以进行远程连接。为此,请在mysql中执行以下命令(如果您是Linux用户,则要进入mysql控制台运行mysql,并且您为root run设置了密码mysql -p):


GRANT ALL PRIVILEGES 

 ON *.* TO 'remote'@'%' 

 IDENTIFIED BY 'safe_password' 

 WITH GRANT OPTION;`

现在,您应该拥有一个名称为user和的用户,safe_password并且具有远程连接功能。


查看完整回答
反对 回复 2019-10-23
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

用户是什么DB?看这个例子


mysql> create database databasename;

Query OK, 1 row affected (0.00 sec)

mysql> grant all on databasename.* to cmsuser@localhost identified by 'password';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

因此,请问您“%”运算符是指网络中的所有计算机。


就像aspesa所示,我也确定您必须创建或更新用户。寻找您所有的mysql用户:


SELECT user,password,host FROM user;

设置好用户后,您应该可以像这样进行连接:


mysql -h localhost -u gmeier -p

希望能帮助到你


查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 643 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信