主机不允许连接mysql数据库(怎么解决mysql不允许远程连接的错误)
本文目录
- 怎么解决mysql不允许远程连接的错误
- 怎么解决mysql不允许远程连接的错误Host
- 无法连接远程MySQL数据库哪,如何解决
- 如何在Mac中允许远程连接到MySQL数据库问题,怎么解决
- Mysql无法远程连接,要如何解决
怎么解决mysql不允许远程连接的错误
如果mysql不支持远程连接,会出现提示:错误代码是1130,ERROR 1130: Host * is not allowed to connect to this MySQL server
解决方案:
将需要被访问的mysql服务器的localhost值改成%,进入mysql的BIN目录
运行代码如下:
--打开mysql数据库服务mysql -u root -p--打开mysql数据库文件mysql》use mysql;--将mysql数据库中user表中user字段下的root用户的host值改为键仿通配符%(默认是localhost)mysql》UPDATE user SET host =’%’ WHERE user = ’root’;--修改之后再刷新一下权限mysql》flush privileges;
具体分析
1、在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为’%’。戚亮搭
代码如下:
mysql》mysql》use mysql;mysql》select ’host’ from user where user=’root’;
#查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
代码如下:
mysql》update user set host = ’%’ where user =’root’;
#修改host值(以通配符%的内容增加主机/IP地址,当然也可以直接增加某个特定IP地址,如果执行update语句时出现高拿ERROR 1062 (23000): Duplicate entry ’%-root’ for key ’PRIMARY’ 错误,需要select host from user where user = ’root’;
查看一下host是否已经有了%这个值,如果有了直接执行下面的flush privileges;即可)
代码如下:
mysql》flush privileges;mysql》select host,user from user where user=’root’;mysql》quit
怎么解决mysql不允许远程连接的错误Host
解决办法如下:1、在服务器端,打开cmd窗口,进入mysql 安装目录bin 下,输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。2、输入use mysql;3、输入select user,host from user;可以看到host中只有localhost主机。我们需要将xxx.xxx.xxx.xxx也添加到这里才对。4、添加方法如下:输入grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "密码";这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。然后再输入flush privileges;这相当于是重新加载一下mysql权限,这一步必须有。5、再次输入select user,host from user;可以看到host中已经有了新加的IP。6、再次在客户端用Navicat for MySQl访问远程mysql数据库,已经能正常打开了。
无法连接远程MySQL数据库哪,如何解决
一、连接远程数据库:1、显示密码如:MySQL连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”C:/》mysql -h192.168.5.116 -P 3306 -u root -p1234562、隐藏密码如:MySQL 连接本地数据库,用户名为“root”,C:/》mysql -hlocalhost -u root -pEnter password:二、配置mysql允许远程链接默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。一、改表法在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host"项,将"localhost"改称"%"例如:#mysql -u root-pEnter password:……mysql》mysql》update userset host = ’%’ where user = ’root’;mysql》select host,user from user;二、授权法例如:你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。mysql》GRANT ALLPRIVILEGES ON *.* TO ’myuser’@’%’IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码mysql》GRANT ALLPRIVILEGES ON *.* TO ’myuser’@’192.168.1.3’IDENTIFIED BY’mypassword’ WITH GRANT OPTION;mysql》FLUSHPRIVILEGES使修改生效,就可以了常见问题:1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u root -p -h192.168.5.116Enter password:ERROR 1045 (28000): Access denied for user’root’@’loadb116’ (using password: YES)上例中loadb116是主机名.解决方法:1、这时可以使用:mysql -uroot -p 登录,进入到mysql后。mysql》 grant all privileges on *.* to ’root’@’loadb116’identified by ’123456’ with grant option;Query OK, 0 rows affected(0.00 sec)mysql》 flushprivileges;Query OK, 0 rows affected (0.00sec)2、在本地使用ip地址登录#mysql -u root -p -h192.168.5.116Enter password:Welcome to the MySQLmonitor. Commands end with ; or /g.Your MySQL connection id is 60Serverversion: 5.1.45 MySQL Community Server (GPL)Type ’help;’ or ’/h’ forhelp. Type ’/c’ to clear the buffer.mysql》
如何在Mac中允许远程连接到MySQL数据库问题,怎么解决
1、改信卖表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从“localhost”改称“%”mysql-uroot-pvmwaremysql》usemysql;mysql》updateusersethost=’%’whereuser=’滑尺逗root’;mysql》selecthost,userfromuser;2、授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。GRANTALLPRIVILEGESON*.*TO’myuser’@’%’IDENTIFIEDBY’mypassword’WITHGRANTOPTION;如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码GRANTALLPRIVILEGESON*.*TO’myuser’@’192.168.1.3’IDENTIFIEDBY’mypassword’WITHGRANTOPTION;我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句mysql》FLUSHRIVILEGES使修改生效,就可以了另外一种方法:在安装mysql的机器上运行:1、d:\mysql\bin\》mysql-hlocalhost-uroot//这样应该可以进入困培MySQL服务器2、mysql》GRANTALLPRIVILEGESON*.*TO’root’@’%’WITHGRANTOPTION//赋予任何主机访问数据的权限3、mysql》FLUSHPRIVILEGES//修改生效4、mysql》EXIT//退出MySQL服务器这样就可以在其它任何的主机上以root身份登录啦。
Mysql无法远程连接,要如何解决
原因是MySQL默认不支持远程连接,(那么phpMyAdmin为什么可以连接呢?那是因为phpMyadmin的环境是上传到服务器的,其本身访问数据库是相当于本机localhost访问的),如果想远程访问,可以使用下面的方法来解决。
远程连接mysql数据库时出现如下提示信息:“MYSQL CONNECT ERROR – 1130:Host ’202.43.**.**’ is not allowed to connect to this MySQL server”
在创建mysql账户时,限制连接账户远程登录。也就是说,除了当前mysql所在的安装服务器外,其他的ip(主机)都是不允许访问的,即使你的用户名和密码是正确的。这时候就要修改用户的访问权限。
首先是用root用户登录到mysql的安装主机,然后进入mysql:
mysql -u root -p
root是mysql的最高授权用户名,这时会提示你输入密码,正确输入密码后回车,进入mysql。回车
然后输入如下命令:
grant all on 数据库名.* to ‘数据库账户名’@’%’ identified by ‘密码’ with grant option;
回车
flush privileges;
回车注意:上面的单引号不能省,数据库名.* 表示要开放的数据库下所有表,如果该连接的所有数据库都要开放,可以用 *.* 代替。‘数据库账户名’@’%’ 这里表示要开放的账户,百分号表示在任何主机都允许访问。如果以上两步均显示 “Query OK, 0 rows affected (0.00 sec)”,那么说明命令已经成功执行,现在就可以远程连接你的mysql数据库了。
(1).如果想赋予所有操作的权限
grant all on ... to 用户名......
(2).如果想赋予操作所有数据库的所有表的权限
grant ... on *.* to 用户名......
(3).如果想赋予某个数据库的所有表
grant ... on 数据库名称.’*’ to 用户名...... (两边一定要加单引号)
(4).如果想赋予某个数据库的某张表并档搭
grant ... on 数据库名称.表名 to 用户名......
(5).如果想任何客户端都能通过该用户名远程访问
grant ... on ... to 用户名@% ....... (要把IP地址改成)
(6).改完了以后一定要重新启动MySQL服务
用户会存到Mysql服务器上的user表中,所以下面的两种绝拿方法都可以解决这个问题:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql》use mysql;
mysql》update user set host = ’%’ where user = ’root’;mysql》select host, user from user;
mysql》flush privileges;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’%’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’192.168.1.3’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;
如果还是无法远程我们可参考
1、蠢桐Mysql的端口是否正确,通过netstat -ntlp查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My AdminMy Query BrowserMySQl Front等。
2、检查用户权限是否正确。例如:用户Tester,user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。
3、查看/etc/my.cnf中,skip-networking 是否已被注掉,需要注掉。报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ’192.168.51.112’ (111)
4、查看iptables是否停掉,没关的情况下,无法连接。通过:service iptables stop临时关闭。报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ’192.168.51.112’ (113)
***隐藏网址***
用户名与密码一栏则填写你所在的数据库用户名与密码。
这时候还不能连接数据库的,需要通过Http通道的形式进行数据库连接。
点击连接属性标签栏中的Http,如下图所示:
勾选使用Http通道后,在通道地址一栏输入你的网址与后台文件地址。
更多文章:
access怎么运行查询(请问一下,用access做查询怎么做)
2024年10月8日 06:15
cprintf和printf的区别(一个简单c问题:print与printf的区别)
2024年7月13日 04:02
c strstr(c语言的查找字符串函数strstr效率高吗源码有谁知道的)
2024年9月1日 13:30
山海经吞噬进化游戏stream(山海经吞噬进化阿黑直播,从哪里看)
2024年7月13日 09:47
电源模块参数(DC-DC转换芯片的选型中主要关注那几个参数,怎么进行选择)
2024年10月8日 23:55
c程序设计谭浩强第四版答案(关于谭浩强《C程序设计(第四版)》例3.7)
2024年7月23日 02:44