当前位置: 首页 > 面试题库 >

远程连接Mysql Ubuntu

郗缪文
2023-03-14
问题内容

由于某些原因,我无法远程连接到我的MySQL服务器。我已经尝试了一切,但仍然遇到错误。

root@server1:/home/administrator# mysql -u monty -p -h www.ganganadores.cl
Enter password:
ERROR 1045 (28000): Access denied for user 'monty'@'server1.ganganadores.cl' (using password: YES)

现在,我尝试跑步

 GRANT ALL ON *.* to monty@localhost IDENTIFIED BY 'XXXXX'; 
 GRANT ALL ON *.* to monty@'%' IDENTIFIED BY 'XXXXXX';`

还是一无所有!我做错了什么?

编辑my.cnf已注释掉绑定ip。


问题答案:

要将MySQL暴露给localhost以外的任何东西,您将必须具有以下行

对于mysql 5.6及以下版本

取消注释/etc/mysql/my.cnf并分配给您的计算机IP地址,并且不环回

对于mysql 5.7及更高版本

取消注释/etc/mysql/mysql.conf.d/mysqld.cnf并分配给您的计算机IP地址,并且不环回

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

bind-address = 0.0.0.0如果不想指定IP,则添加一个

然后停止并使用新的my.cnf条目重新启动MySQL。一旦运行,请转到终端并输入以下命令。

lsof -i -P | grep :3306

您应该在xxx的实际IP中返回类似的内容

mysqld  1046  mysql  10u  IPv4  5203  0t0  TCP  xxx.xxx.xxx.xxx:3306 (LISTEN)

如果以上语句正确返回,则可以接受远程用户。但是,要使远程用户连接正确的特权,您需要在本地主机和“%”中都创建该用户,如下所示。

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; 
EXIT;

如果您没有创建与上述相同的用户,则在本地登录时,您可能会继承基本的localhost特权,并且会出现访问问题。如果你想限制访问为myuser已经那么你就需要在GRANT语句的语法读了这里如果你通过这一切,仍然有问题发布一些额外的错误输出和my.cnf中适当的行。

注意:如果lsof不返回或找不到,则可以根据Linux发行版本在此处安装。您不需要lsof就能使事情正常运行,但是当事情没有按预期进行时,这非常方便。



 类似资料:
  • 问题内容: 我正在尝试打开与远程计算机上运行的Java应用程序的JMX连接。 应用程序JVM配置有以下选项: com.sun.management.jmxremote com.sun.management.jmxremote.port = 1088 com.sun.management.jmxremote.authenticate = false com.sun.management.jmxrem

  • 问题内容: 我一直在localhost上建立一个网络,当我尝试在主机上移动它时,它显示了很多错误。似乎无法连接到我的本地数据库。这是代码: 这是输出: 感谢帮助 问题答案: 这是mysql用户权限问题。例如,使用phpmyadmin创建一个新用户,如果从localhost连接,则将其主机设置为localhost;如果从外部连接,则将其主机设置为%。

  • 我正在尝试实现PowerShell远程处理(用于在远程服务器上执行PowerShell脚本)。我的远程服务器运行的是Windows server 2008和PowerShell v2。 在提升权限的PS控制台中,我执行了以下cmdlet: 返回控制台: WinRM已设置为在此计算机上接收请求。 WinRM已设置为在此计算机上进行远程管理。 从客户端计算机上提升的PowerShell会话中,我执行了

  • 当我将()连接到URL时。Java是否像浏览器那样获取网页,而不显示它? 例如,我试图理解是否要连接到Youtube视频URL。即使我看不到页面,URL连接是否像从典型的浏览器中一样加载页面和播放视频(没有页面的UI或视觉表示)?

  • 问题内容: 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以通过使用本地计算机上的curl来访问Kibana和Elastic search 我得到以下回应 var hashRoute =’/ app / kibana’; var defaultRoute =’/ app / kibana’; var hash = window.location.hash;

  • 我已经在服务器上安装了Kibana 5.4和Elastic search 5.4,我可以使用 我得到以下回应 var hashRoute='/app/kibana'; var defaultRoute='/app/kibana'; var hash=window.location.hash; if(hash.length){window.location=hashRoute hash;}其他{wi