与主机’localhost’的用户’root’完全相同,主机’%’是另一个。
我在我的智慧结束,没有 理念 </跨度> 如何进行。欢迎任何想法。 鈥
如果您碰巧在Windows上运行;一个简单的解决方案是运行MySQL服务器实例配置向导。它位于开始菜单中的MYSQL组中。在最后一个屏幕的第二个屏幕上,单击“允许从远程计算机进行root访问”的框。
这适用于 的 管理向导 强> ;
DirectAdmin
MySQL Management
database
Accesse Host
xxx.xx.xxx.xx
Add Host
成品。现在您可以通过您的访问此数据库了 your_database_username &安培; your_database_password 。 的 很简单! 强>
your_database_username
your_database_password
一个人要创造一个 new MySQL User 并分配如下的权限 Query prompt 通过phpMyAdmin或命令提示符:
new MySQL User
Query prompt
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION; CREATE USER 'username'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
完成所有四个查询后,它应该连接 username / password
username / password
我的错误消息类似,并说'' 主机XXX不允许连接到此MySQL服务器 '即使我使用的是root。以下是确保root具有正确权限的方法。
的 我的设置 强> :
的 解 强>
检查:
现在访问实际服务器上的MySQL数据库(假设你的远程地址是123.123.123.123,端口3306为用户'root',我想更改数据库'dataentry'的权限。请记住更改IP地址,端口和数据库名称到你的设置)
mysql -u root -p Enter password: <enter password> mysql>GRANT ALL ON *.* to root@'123.123.123.123' IDENTIFIED BY 'put-your-password'; mysql>FLUSH PRIVILEGES; mysql>exit
sudo service mysqld restart
只需执行以下步骤:
1)连接到mysql
mysql -uroot -p
2)创建用户
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
3)授予权限
GRANT ALL PRIVILEGES ON \*.\* TO 'user'@'%' WITH GRANT OPTION;
4)冲洗特权
FLUSH PRIVILEGES;
简单方法:
Grant All Privileges ON *.* to 'USER_NAME'@'%' Identified By 'YOUR_PASSWORD';
然后
完成了!
如果这是最近的mysql安装,那么在更改其他任何内容之前,只需执行此命令然后再试一次:
flush privileges;
仅此一项就在Ubuntu 16.04,mysql 5.7.20上解决了这个问题。因人而异。
我也面临同样的问题。我在2分钟内解决了它,我只是通过cpanel白名单ip
假设您正在尝试从服务器A连接服务器B的数据库。 转到服务器B Cpanel-&gt;远程MySQL-&gt;输入服务器A IP地址,就是这样。
只需从您的主机控制面板找到更好的方法(我在这里使用DirectAdmin)
在我的情况下,只需转到控制面板中的目标服务器数据库: MySQL管理 - &gt;选择你的数据库 - &gt;你会发现:“访问主机”,只需在这里添加你的远程主机,它就可以了!
我猜其他C.panels上有类似选项,如plesk等。
我希望它对你也有帮助。
只需使用MySql的GUI工具(SQLyog)提供的界面:
单击用户管理器:
现在,如果您要为任何其他远程PC授予访问权限,请确保,就像在下面的图片中一样,Host字段值为%(这是通配符)
如果遇到这个问题的人在SQLyog中遇到这种情况,则会发生这种情况:
我已连接到远程数据库(从SQLyog中)并工作了几个小时。之后我离开系统几分钟,然后回来继续我的工作 - 的 错误1130 强> !我没有尝试过任何工作;重新启动SQLyog没有修复它。然后我重新启动系统 - 它仍然无法正常工作。
所以我尝试从终端连接 - 它工作。然后在SQLyog上重试它......它有效。除了'随机计算机怪癖'之外,我无法解释它,但我认为它可能对某人有所帮助。
您需要从任何主机名授予对用户的访问权限。
这是您从phpmyadmin添加新权限的方式
转到权限&gt;添加新用户
选择 的 任何主持人 强> 用于所需的用户名
如果你试图在没有定义连接字符串的情况下执行mysql查询,你将收到此错误。
可能你原谅在执行之前定义连接字符串。你看看了吗? (抱歉英文不好)
简单的方法是用root帐号登录phpmyadmin,有goto mysql数据库并选择用户表,有编辑root帐号,在主机字段中添加%wild卡。然后通过ssh flush权限
这里的大多数答案都显示您创建了具有两个主机值的用户:一个用于 localhost 和一个 % 。
localhost
%
请注意,除了像root这样的内置localhost用户之外,您不需要这样做。如果您只想创建一个可以从任何地方登录的新用户,您可以使用
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword'; GRANT <whatever privileges are appropriate> ON <relevant tables> TO myuser;
它会工作得很好。 (正如其他人所提到的,从任何域向用户授予管理权限是一个糟糕的主意。)
这个答案可能有助于某些人
所有这些答案都没有帮助,然后我意识到我忘了检查一个至关重要的事情..端口:)
我在运行在不同端口上的docker容器中运行mysql。我指着端口3306上的主机,我运行了一个mysql服务器。我的容器在端口33060上公开了服务器。所以这一次,我正在查看错误的服务器!卫生署!
问题:root @ localhost无法连接到openSUSE 42.2-1.150.x86_64上的全新mysql-community-server安装。 Mysql拒绝连接 - 期间。
解:
$ ls -l /var/lib/mysql/mysql/user.* -rw-rw---- 1 mysql mysql 0 Apr 29 19:44 /var/lib/mysql/mysql/user.MYD -rw-rw---- 1 mysql mysql 1024 Apr 29 19:44 /var/lib/mysql/mysql/user.MYI -rw-rw---- 1 mysql mysql 10684 Apr 29 19:44 /var/lib/mysql/mysql/user.frm
的 文件user.MYD的大小为0 强> (真的吗?!)。 我从另一个工作系统复制了所有3个文件。
$ /usr/sbin/rcmysql stop $ cd /var/lib/mysql/mysql/ $ scp root@othersytem:/var/lib/mysql/mysql/user.* ./ $ /usr/sbin/rcmysql start $ cd - $ mysql -u root -p
我能够登录。然后,这只是重新应用所有架构权限的问题。 此外,如果您禁用了IPv6,请暂时重新启用它,以便root @ :: 1帐户也可以正常工作。
这里的所有答案都不适用于我的情况,所以我的客人这可能会在将来帮助其他用户。这在我们的代码中也可能是一个问题,而不仅仅是在MySQL中。
如果你正在使用 VB.NET
VB.NET
而不是这段代码:
Dim server As String = My.Settings.DB_Server Dim username As String = My.Settings.DB_Username Dim password As String = My.Settings.DB_Password Dim database As String = My.Settings.DB_Database MysqlConn.ConnectionString = "server=" & server & ";" _ & "user id=" & username & ";" _ & "password=" & password & ";" _ & "database=" & database MysqlConn = New MySqlConnection()
你需要搬家 MysqlConn = New MySqlConnection() 在第一行。所以就是这样
MysqlConn = New MySqlConnection()
MysqlConn = New MySqlConnection() Dim server As String = My.Settings.DB_Server Dim username As String = My.Settings.DB_Username Dim password As String = My.Settings.DB_Password Dim database As String = My.Settings.DB_Database MysqlConn.ConnectionString = "server=" & server & ";" _ & "user id=" & username & ";" _ & "password=" & password & ";" _ & "database=" & database