如何远程访问MySQL数据库详解

如何远程访问MySQL数据库详解,第1张

一、连接远程数据库

1、显示密码

如:MySQL 连接远程数据库(192.168.5.116),端口“3306”,用户名为“root”,密码“123456”

C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456

2、隐藏密码

如:MySQL 连接本地数据库,用户名为“root”,

C:/>mysql -h localhost -u root -p

Enter password:

二、配置mysql允许远程链接

默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录。本文提供了二种方法设置mysql可以通过远程主机进行连接。

一、改表法

在localhost登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改称"%"

例如:

#mysql -u root -p

Enter password:

……

mysql>

mysql>update user set host = '%' where user = 'root'

mysql>select host, user from user

二、授权法

例如: 你想myuser使用mypassword(密码)从任何主机连接到mysql服务器的话。

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION

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

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY

'mypassword' WITH GRANT OPTION

mysql>FLUSH PRIVILEGES

使修改生效,就可以了

常见问题:

1、在采用法二授权法之后,无法在本地登录mysql(如:#mysql -u root -p -h 192.168.5.116

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES)

上例中loadb116是主机名.

解决方法:

1、这时可以使用:mysql -u root -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>flush privileges

Query OK, 0 rows affected (0.00 sec)

2、在本地使用ip地址登录

# mysql -u root -p -h 192.168.5.116

Enter password:

Welcome to the MySQL monitor. Commands end with or /g.

Your MySQL connection id is 60

Server version: 5.1.45 MySQL Community Server (GPL)

Type 'help' or '/h' for help. Type '/c' to clear the buffer.

mysql>

第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。

或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。

第二:在系统防火墙添加例外端口:3306,并允许例外。

错误提示:

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

第一中方法:比较详细

以下的文章主要介绍的是MySQL 数据库开启远程连接的时机操作流程,其实开启MySQL

数据库远程连接的实际操作步骤并不难,知识方法对错而已,今天我们要向大家描述的是MySQL 数据库开启远程连接的时机操作流程。

1、d:\MySQL\bin\>MySQL -h localhost -u root

这样应该可以进入MySQL服务器

复制代码

代码如下:

MySQL>update user set host = '%' where

user = 'root'

MySQL>select host, user from user

2、MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY

'mypassword' WITH GRANT OPTION

予任何主机访问数据的权限

3、MySQL>FLUSH

PRIVILEGES

修改生效

4、MySQL>EXIT

退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦!

以上的相关内容就是对MySQL 数据库开启远程连接的介绍,望你能有所收获。

第二种方法:

1、在控制台执行 mysql -u root -p

mysql,系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台,这个命令的第一个mysql是执行命令,第二个mysql是系统数据名称,不一样的。

2、在mysql控制台执行 GRANT ALL PRIVILEGES ON *.* TO ‘root'@'%' IDENTIFIED BY

‘MyPassword' WITH GRANT OPTION

3、在mysql控制台执行命令中的 ‘root'@'%' 可以这样理解:

root是用户名,%是主机名或IP地址,这里的%代表任意主机或IP地址,你也可替换成任意其它用户名或指定唯一的IP地址;'MyPassword'是给授权用户指定的登录数据库的密码;另外需要说明一点的是我这里的都是授权所有权限,可以指定部分权限,GRANT具体操作详情见:http://dev.mysql.com/doc/refman/5.1/en/grant.html

4、不放心的话可以在mysql控制台执行 select host, user from user检查一下用户表里的内容


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/709450.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-06
下一篇2023-08-06

发表评论

登录后才能评论

评论列表(0条)

    保存