首页 > 编程知识 正文

mysql数据库如何让他人访问,怎么访问别人的数据库

时间:2023-12-29 20:32:04 阅读:331182 作者:XUUB

本文目录一览:

怎么配置MySQL数据库让别人远程访问

有三种方法:

方法一(不推荐)、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"

#mysql -u root -proot

mysqluse mysql;

mysqlupdate user set host = '%' where user = 'root';

mysqlselect host, user from user;

方法二、直接授权(推荐)

从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:(首先登陆Linux服务器,填写下面代码即可)

[root@localhost software]# mysql -u root -proot 

mysqlGRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

mysqlFLUSH PRIVILEGES;

操作完后切记执行以下命令刷新权限

FLUSH PRIVILEGES;

方法三:终极方法

注释bind-address = 127.0.0.1

找到mysql.cnf

把bind-address = 127.0.0.1 前面加上 #

即  #bind-address = 127.0.0.1

如何让别人远程连接到自己的MySql数据库

MYSQL要想让别人远程访问自己的数据库,必须让mysql库中user表的host字段为%,接受远程控制请求 ,可以进入mysqluser mysql;

mysqlupdate user set host="%" where user="root" and host="localhost";这样别人就可以通过 mysql -h xxx.xxx.xxx.xxx(你电脑的IP) -u root -p密码 进行连接并操作数据库了。

如何让mysql数据库允许被远程连接访问

一、连接远程数据库:

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

mysqlupdate user set host = '%' where user = 'root';

mysqlselect host, user from user;

二、授权法

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

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

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

mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY

'mypassword' WITH GRANT OPTION;

mysqlFLUSH 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数据库远程访问

1、使用“Ctrl + R”组合键快速打开cmd窗口,并输入“cmd”命令,打开cmd窗口。

2、使用“mysql -uroot -proot”命令可以连接到本地的mysql服务。

3、使用“use mysql”命令,选择要使用的数据库,修改远程连接的基本信息,保存在mysql数据库中,因此使用mysql数据库。

如何让其他计算机访问我的计算机上数据库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

的解决方法:

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

1.mysql -u root -pvmware

mysqluse mysql;

mysqlupdate user set host = '%' where user = 'root';

mysqlselect host, user from user;

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;

3.在window自带的防火墙里的例外添加3306端口

总结:

mysql -u root -p

mysqluse mysql;

mysqlselect 'host' from user where user='root';

mysqlupdate user set host = '%' where user ='root';

mysqlflush privileges;

mysqlselect 'host' from user where user='root';

第一句是以权限用户root登录

第二句:选择mysql库

第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址

第五句:刷新MySQL的系统权限相关表

第六句:再重新查看user表时,有修改。。

重起mysql服务即可完成。

打字不易,如满意,望采纳。

怎么设置MySQL就能让别人访问本机的数据库了?

找到MySQL配置文件,搜索“bind-address”,找到这一行:

bind-address = 127.0.0.1 在前面加一个#,注释掉这一行,保存,重启MySQL。

再通过远程访问就可以了,telnet可以发现端口也打开了。

例配置:

1. 确保skip-networking被删除或者屏蔽,否则不支持TCP/IP 访问

2. 增加行bind-address = 65.55.55.2,替代65.55.55.2 为你的服务器地址

修改后,配置为:

[mysqld]

user = mysql

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

port = 3306

basedir = /usr

datadir = /var/lib/mysql

tmpdir = /tmp

language = /usr/share/mysql/English

bind-address = 65.55.55.2

# skip-networking

保存并关闭配置文件

重启mysql服务器:# /etc/init.d/mysql restart

如果上面办法没有用我们可以通用mysql命令模式进行设置:

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

CODE:mysql -u root -p123

mysqluse mysql;

mysqlupdate user set host = '%' where user = 'root';

mysqlselect host, user from user;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。