首页 > 编程知识 正文

mysql登录远程服务器,如何登录远程服务器的mysql

时间:2023-12-27 22:27:59 阅读:327102 作者:OZKB

本文目录一览:

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

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf

找到bind-address = 127.0.0.1这一行

改为bind-address = 0.0.0.0即可

二、为需要远程登录的用户赋予权限

1、新建用户远程连接mysql数据库

grant all on *.* to admin@'%' identified by '123456' with grant option;

flush privileges;

允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。

注意admin账户不一定要存在。

2、支持root用户允许远程连接mysql数据库

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

flush privileges;

三、查看系统用户

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

第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。 x0dx0a或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。 x0dx0a第二:在系统防火墙添加例外端口:3306,并允许例外。 x0dx0ax0dx0a错误提示: x0dx0aERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server x0dx0a的解决方法: x0dx0a1。改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" x0dx0a1.mysql -u root -pvmwarex0dx0amysqluse mysql;x0dx0amysqlupdate user set host = '%' where user = 'root';x0dx0amysqlselect host, user from user; x0dx0ax0dx0a2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 x0dx0ax0dx0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; x0dx0a如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 x0dx0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; x0dx0ax0dx0a3.在window自带的防火墙里的例外添加3306端口 x0dx0ax0dx0a总结: x0dx0amysql -u root -p x0dx0amysqluse mysql; x0dx0amysqlselect 'host' from user where user='root'; x0dx0amysqlupdate user set host = '%' where user ='root'; x0dx0amysqlflush privileges; x0dx0amysqlselect 'host' from user where user='root'; x0dx0a第一句是以权限用户root登录 x0dx0a第二句:选择mysql库 x0dx0a第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称) x0dx0a第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址 x0dx0a第五句:刷新MySQL的系统权限相关表 x0dx0a第六句:再重新查看user表时,有修改。。 x0dx0a重起mysql服务即可完成。

mysql怎么开启远程登录功能

第一中方法:比较详细

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

1、d:MySQLbinMySQL -h localhost -u root

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

复制代码 代码如下:

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

MySQLselect host, user from user;

2、MySQLGRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION

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

3、MySQLFLUSH PRIVILEGES

修改生效

4、MySQLEXIT

退出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具体操作详情见:

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

怎么用mysql登录远程服务器

MySQL允许远程访问的设置

1.注释bind-address = 127.0.0.1。

代码如下:

cd /etc/mysql

sudo vim my.cnf

将bind-address = 127.0.0.1注释掉(即在行首加#),如下:

代码如下:

# Instead of skip-networking the default is now to listen only on

# localhost which is more compatible and is not less secure.

# bind-address = 127.0.0.1

除了注视掉这句话之外,还可以把后面的IP地址修改成允许连接的IP地址。但是,如果只是开发用的数据库,为了方便起见,还是推荐直接注释掉。

从上面的注释中,可以看出,旧版本的MySQL(从一些资料上显示是5.0及其以前的版本)上使用的是skip-networking。所以,善意提醒一下,使用旧版本的小伙伴请注意一下。

2.删除匿名用户

登录进数据库:

代码如下:

mysql -uroot -p123456

然后,切换到数据库mysql。SQL如下:

代码如下:

use mysql;

然后,删除匿名用户。SQL如下:

代码如下:

delete from user where user='';

3.增加允许远程访问的用户或者允许现有用户的远程访问。

接着上面,删除匿名用户后,给root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下:

代码如下:

mysql grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

如果需要指定访问主机,可以把%替换为主机的IP或者主机名。另外,这种方法会在数据库mysql的表user中,增加一条记录。如果不想增加记录,只是想把某个已存在的用户(例如root)修改成允许远程主机访问,则可以使用如下SQL来完成:

代码如下:

update user set host='%' where user='root' and host='localhost';

4.退出数据库

代码如下:

mysql exit

在MySQL Shell执行完SQL后,需要退出到Bash执行系统命令,需要执行exit。因为这个太常用也太简单。以下内容就提示“退出”,不再重复列出这个命令。

5.重启数据库

完成上述所有步骤后,需要重启一下数据库,才能让修改的配置生效。执行如下命令重启数据库:

代码如下:

sudo service mysql restart

到此为止,应该就可以远程访问数据库了。

如何登录远程mysql

首先让我们看一下远端MYSQL的用户表

mysql select host,user

- from user;

+---------------+------+

| host | user |

+---------------+------+

| localhost | root |

+---------------+------+

5 rows in set (0.00 sec)

由此我们可以看到root用户仅允许本地(localhost)登录,如果要远程登录该mysql服务器的话,就需要新建一个普通权限的用户,新建用户使用如下命令:

mysql grant select,update,insert,delete on mas.* to duan@localhost identified by "123456";

这句命令的意思是:新建用户duan,并且只允许该用户在本地(localhost)登录,密码是123456,并且赋予它对mas库中所有表select,update,insert的权限。我们在这有一个mas库,所以用mas.*代表mas库下的所有表。如果要对所有的表,包括mysql库的表都有操作权限则可以替换成“*.*”.

现在该duan用户,已经可以登录mysql了,但是也还是只能本地登录。若要duan用户可以远程登录mysql,则还需要如下命令:

mysql update user set host = '%' where user = 'duan';

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