澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

mysql允许用户远程登陆,使用连发互联空间

2019-09-11 作者:数据库网络   |   浏览(179)

在我使用SQLyog(小海豚)管理我的数据库的时候,主机空间为连发互联的(自己做着玩,这个便宜),遇到一些坑,自己写一下记录一下,省的下次忘记了又浪费时间。

首先你要有连发互联的空间,可以淘宝购买,连发互联的网址为:  ,还要有小海豚SQL yog工具,小海豚可以直接百度下载。

1.连发互联登陆界面

澳门新萄京官方网站 1图1

 

                                                  图1

 

 

 

2.SQL yog 小海豚的数据登陆页面

澳门新萄京官方网站 2图2

                                                        图2

 

3填写SQL yog登陆页面

(1)我的SQL主机名地址,在连发互联的主机管理一栏寻找,就是ip/别名那一栏

澳门新萄京官方网站 3图3

                                                                                图3

 

(2)用户名,密码,端口号信息都需要在数据库那一栏里面寻找,如图所示

澳门新萄京官方网站 4图4

                                                               图4

 

登陆页面的其他不用填写。

注意!!!!!!!!!!!!!!!!!!!!!此时这样填写是完全没有问题的,但是还是连接不上,会出现如下报错的问题,什么原因呢???

澳门新萄京官方网站 5图5

                                      图5

这是因为我们没有开启远程访问ip,这是联发互联出于安全考虑做的设置。在数据库的控制面板中,选择远程访问ip,将我们现在用的电脑的ip写到上面 

澳门新萄京官方网站 6图6

                 图6

 

注意,联发互联远程访问ip页面的我的ip地址是错误的,如果你在里面填写这个ip,数据库连接依然会报错(坑啊,最后这个还是问客服解决的,你不对你往上写啥)

澳门新萄京官方网站 7图7

                                                 图7

 

那怎么才能找到我们自己电脑正确的ip呢????直接在百度所有ip(或者上www.ip138.com进行查询),就会显示我们这台电脑的ip地址。如图所示:

澳门新萄京官方网站 8图8

                                       图8

我们将查出来的正确的ip放到图7远程ip 1里面,点击设置,保存一下,然后我们再去登陆一下我们的SQL yog,登陆成功

澳门新萄京官方网站 9 图9

                           图9

 

使用连发互联空间 SQLyog 设置我们的数据库链接,连发sqlyog

    在阿里云服务器上安装好MySQL后,首先想到的就是安装一款工具来管理数据库,一开始选择了phpMyAdmin,这个工具安装很简单,只要解压到能访问的目录下就行了。在浏览器中访问phpMyAdmin目录就行了,输入用户名和密码就能进入管理数据库了。

 方法1

在我使用SQLyog(小海豚)管理我的数据库的时候,主机空间为连发互联的(自己做着玩,这个便宜),遇到一些坑,自己写一下记录一下,省的下次忘记了又浪费时间。

首先你要有连发互联的空间,可以淘宝购买,连发互联的网址为:  ,还要有小海豚SQL yog工具,小海豚可以直接百度下载。

1.连发互联登陆界面

澳门新萄京官方网站 10图1

 

                                                  图1

 

 

 

2.SQL yog 小海豚的数据登陆页面

澳门新萄京官方网站 11图2

                                                        图2

 

3填写SQL yog登陆页面

(1)我的SQL主机名地址,在连发互联的主机管理一栏寻找,就是ip/别名那一栏

澳门新萄京官方网站 12图3

                                                                                图3

 

(2)用户名,密码,端口号信息都需要在数据库那一栏里面寻找,如图所示

澳门新萄京官方网站 13图4

                                                               图4

 

登陆页面的其他不用填写。

注意!!!!!!!!!!!!!!!!!!!!!此时这样填写是完全没有问题的,但是还是连接不上,会出现如下报错的问题,什么原因呢???

澳门新萄京官方网站 14图5

                                      图5

这是因为我们没有开启远程访问ip,这是联发互联出于安全考虑做的设置。在数据库的控制面板中,选择远程访问ip,将我们现在用的电脑的ip写到上面 

澳门新萄京官方网站 15图6

                 图6

 

注意,联发互联远程访问ip页面的我的ip地址是错误的,如果你在里面填写这个ip,数据库连接依然会报错(坑啊,最后这个还是问客服解决的,你不对你往上写啥)

澳门新萄京官方网站 16图7

                                                 图7

 

那怎么才能找到我们自己电脑正确的ip呢????直接在百度所有ip(或者上www.ip138.com进行查询),就会显示我们这台电脑的ip地址。如图所示:

澳门新萄京官方网站 17图8

                                       图8

我们将查出来的正确的ip放到图7远程ip 1里面,点击设置,保存一下,然后我们再去登陆一下我们的SQL yog,登陆成功

澳门新萄京官方网站 18 图9

                           图9

 

设置我们的数据库链接,连发sqlyog 在我使用SQLyog(小海豚)管理我的数据库的时候,主机空间为连发互联的(自己...

澳门新萄京官方网站 19

局域网连接mysql报错:
ERROR 1130: Host '192.168.0.220' is not allowed to connect to this MySQL server

但是每次打开浏览器来管理数据库还是不太方便,所以最终选择了Navicat软件来管理数据库,在新建连接时,输入正确的主机、用户名和密码,连接测试时弹出如下错误。

解决方法:

澳门新萄京官方网站 20

可能是帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 或添加一个用户为“%”  。    

原因是MySQL默认不支持远程连接,(那么phpMyAdmin为什么可以连接呢?那是因为phpMyadmin的环境是上传到服务器的,其本身访问数据库是相当于本机localhost访问的),如果想远程访问,可以使用下面的方法来解决。

想让局域网中的所有机器都能连接MySQL数据库,首先要给MySQL开启远程连接的功能,在MySQL服务器控制台上执行MySQL命令:

远程连接mysql数据库时出现如下提示信息:“MYSQL CONNECT ERROR – 1130:Host ’202.43.**.**’ is not allowed to connect to this MySQL server”

grant all privileges on *.* to root@"%" identified by 'abc' with grant option; 
flush privileges; 

在创建mysql账户时,限制连接账户远程登录。也就是说,除了当前mysql所在的安装服务器外,其他的ip(主机)都是不允许访问的,即使你的用户名和密码是正确的。这时候就要修改用户的访问权限。

其中上面两行代码的意思是给从任意ip地址连接的用户名为root,密码为abc的用户赋予所有的权限。其中的"%"为任意的ip地址,如果想设为特定的值也可以设定为特定的值(以通配符%的内容增加主机/IP地址,也可以直接增加IP地址)。

首先是用root用户登录到mysql的安装主机,然后进入mysql:

做完这些之后,局域网内的mysql服务器可以访问了。 

mysql -u root -p

添加用户

root是mysql的最高授权用户名,这时会提示你输入密码,正确输入密码后回车,进入mysql。回车

添加远程用户admin密码为password

然后输入如下命令:

GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'password' WITH GRANT OPTION

grant all on 数据库名.* to ‘数据库账户名’@’%’ identified by ‘密码’ with grant option;

 

回车

方法2

flush privileges;

1.用root用户登陆,然后执行下面语句

回车

grant all privileges on *.* to zhangsan@"%" identified by "123456";
flush privileges;   * 刷新刚才的内容*

注意:上面的单引号不能省,数据库名.* 表示要开放的数据库下所有表,如果该连接的所有数据库都要开放,可以用 *.* 代替。

格式:grant 权限 on 数据库教程名.表名 to 用户@登录主机 identified by "用户密码";@ 后面是访问mysql的客户端ip地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为本地访问(那此用户就不能远程访问该mysql数据库了)。同时也可以为现有的用户设置是否具有远程访问权限。如下:

‘数据库账户名’@’%’ 这里表示要开放的账户,百分号表示在任何主机都允许访问。

use mysql;
update db set host = '%' where user = '用户名'; //(如果写成 host=localhost 那此用户就不具有远程访问权限)
flush privileges;
grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;

如果以上两步均显示 “Query OK, 0 rows affected (0.00 sec)”,那么说明命令已经成功执行,现在就可以远程连接你的mysql数据库了。

 

(1).如果想赋予所有操作的权限

方法3 

  grant all on ... to 用户名......

使用grant语句添加:首先在数据库本机上用root用户登录mysql(我是用远程控制linux服务器,相当于在服务器本机登录mysql了),然后输入:

(2).如果想赋予操作所有数据库的所有表的权限

mysql>grant all privileges on *.* to admin@localhost identified by 'something' with grant option;

  grant ... on *.* to 用户名......

添加一个用户admin并授权通过本地机(localhost)访问,密码"something"。

(3).如果想赋予某个数据库的所有表

mysql>grant all privileges on *.* to admin@"%" identified by 'something' with grant option;

  grant ... on 数据库名称.'*' to 用户名...... ([ * ]两边一定要加单引号)

如果添加一个用户admin并授权可从任何其它主机发起的访问(通配符%)。使用这一条语句即可。

(4).如果想赋予某个数据库的某张表

使用insert语句:

  grant ... on 数据库名称.表名 to 用户名......

mysql>insert into user values('%','admin',password('something'), 'y','y','y','y','y','y',
'y','y','y','y','y','y','y','y')

(5).如果想任何客户端都能通过该用户名远程访问

用户信息可在mysql数据库中的users表中查看,这里不在介绍了就。数清y的个数哦。好了,使用admin帐号连接试试看,我是屡试屡成功哦,呵呵!

  grant ... on ... to 用户名@% ....... (要把IP地址改成[ % ])

 

(6).改完了以后一定要重新启动MySQL服务

方法4

用户会存到Mysql服务器上的user表中,所以下面的两种方法都可以解决这个问题:

添加远程用户admin密码为password 

1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

grant all privileges on *.* to admin@localhost identified by 'password' with grant option 
grant all privileges on *.* to admin@"%" identified by 'password' with grant option

mysql -u root -p

mysql允许用户远程登陆,使用连发互联空间。由于项目开发的要求数据库的设计不得不用远程模式。但是数据库的远程设置并没那么简单,该项目的数据库是mysql5.0。刚开始以为只要装了数据库服务器就可以进行远程链接了,但是mysql的设置是为了用户的安全,系统默认的设置是不允许远程用户连接,只能本地的用户连接。只要我们设置下系统的管理员用户的host这一项的值就可以给远程的用户访问了。

mysql>use mysql;

 

mysql>update user set host = ’%’ where user = ’root’;mysql>select host, user from user; 

方法6

mysql>flush privileges;

用Navicat for MySQl访问远程mysql数据库,出现报错,显示“1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server“。
澳门新萄京官方网站 21

2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

 

GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’%’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION; 

解决办法如下:

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码

经查阅,错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限。首先远程连接进入服务器,在cms中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。

GRANT ALL PRIVILEGES ON *.* TO ’myuser’@’192.168.1.3’ IDENTIFIED BY ’mypassword’ WITH GRANT OPTION;

澳门新萄京官方网站 22

如果还是无法远程我们可参考

输入use mysql;

1、Mysql的端口是否正确,通过netstat -ntlp查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My AdminMy Query BrowserMySQl Front等。

澳门新萄京官方网站 23

2、检查用户权限是否正确。
   例如:用户Tester,user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。

输入select user,password,host from user;可以看到host中只有localhost主机。我们需要将xxx.xxx.xxx.xxx也添加到这里才对。

3、查看/etc/my.cnf中,skip-networking 是否已被注掉,需要注掉。

澳门新萄京官方网站 24

 报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)

添加方法如下:
输入
grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "密码";
这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。
然后再输入
flush privileges;
这相当于是重新加载一下mysql权限,这一步必须有。

4、查看iptables是否停掉,没关的情况下,无法连接。

澳门新萄京官方网站 25

通过:service iptables stop临时关闭。

再次输入select user,password,host from user;可以看到host中已经有了新加的IP。

澳门新萄京官方网站,报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)

澳门新萄京官方网站 26

另外,我们还可以通过配置http通道来使Navicat远程连接到数据库,这样做的好处是不需要前面繁杂的配置。在主机名IP地址那里填写LocalHost

不过还有一个问题,发现双击打开某张表的时候很慢,至少要3秒。
原因是:
当远程访问mysql时, mysql会解析域名, 所以会导致访问速度很慢, 会有2,3秒延时!
解决办法:
修改mysql安装目录下的my.ini,加上下面这个配置可解决此问题。在[mysqld]下加入:skip-name-resolve
保存退出后重启mysql服务。
然后访问速度就和本地一样快啦。

用户名与密码一栏则填写你所在的数据库用户名与密码。

澳门新萄京官方网站 27

这时候还不能连接数据库的,需要通过Http通道的形式进行数据库连接。

 

点击连接属性标签栏中的Http,如下图所示:

澳门新萄京官方网站 28

勾选使用Http通道后,在通道地址一栏输入你的网址与后台文件地址。

例如:

澳门新萄京官方网站 29

这里说明一下通道地址,前半部份:

这个ntunnel_mysql.php文件在你点击确定保存了连接信息后,会自动生成一个php文件于NaviCat的文件根目录下,,如下图所示:

澳门新萄京官方网站 30

使用Ftp工具将该文件上传到能通道地址目录就行了。

澳门新萄京官方网站 31

现在连接测试就能成功了。

澳门新萄京官方网站 32

来自为知笔记(Wiz)

本文由澳门新萄京官方网站发布于数据库网络,转载请注明出处:mysql允许用户远程登陆,使用连发互联空间

关键词: