对MySQL开放远程连接权限的方法

2 篇文章 0 订阅
背景:
2016年9月22日,中途要求做一个评价系统,由于之前被人做过一小部分,有现成的数据库(数据库:MySQL 5.7 ,数据库软件:MySQL workbench 6.3 CE),为了省去安装数据库导出导入表的麻烦,想要直接远程连接对方数据库。

方法如下:
首先,检查要连接数据库的服务器的防火墙等是否关闭,检查与服务器连接是否通畅(方法:在cmd控制台中 输入 ping ip地址)

其次通过网上查找 有两种方法:

1,改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 
  mysql -u root -pvmwaremysql>use mysql; 
  mysql>update user set host = '%' where user = 'root'; 
  mysql>select host, user from user;


2,授权法。 

在安装mysql的机器上运行: 
 1、d:\mysql\bin\>mysql -h localhost -u root 
  //这样应该可以进入MySQL服务器 
 2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION 
  //赋予任何主机访问数据的权限 
 3、mysql>FLUSH PRIVILEGES 
  //修改生效 
 4、mysql>EXIT 
  //退出MySQL服务器 
  这样就可以在其它任何的主机上以root身份登录啦。

自己测试两种方法都不行,感觉很奇怪,于是自己测试:
找到MySQL的文件位置,在cmd中输入 cd mysql.exe的文件位置(一般在MySQL安装目录下bin文件下)
输入mysql -u root -p 输入登录密码登录MySQL



 在MySQL里直接输入
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION ,会出现如下图


这里是由于没有以英文分号结尾导致的。

输入带分号的语句试试:


提示未找到行。

我决定先还是采用第一种方法,按照第一种方法的代码,输入:
        mysql -u root -p                  //这是登录
        mysql>use mysql;                 //
  mysql>update user set host = '%' where user = 'root';  //
  mysql>select host, user from user;                                  //

执行结果如下图


连接远程MySQL,还是没连接上,于是再试试第二种方式

输入:
        d:\mysql\bin\>mysql -h localhost -u root
        mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
        mysql>FLUSH PRIVILEGES;
        mysql>EXIT;

注意这里一定要以英文分号结尾!!!

执行结果如下图


这时没有上面的ERROR 1133错误了,经过测试,已经能连接到远程服务器了。

总的执行步骤如下:


参考文章:

http://www.cnblogs.com/ycsfwhh/archive/2012/08/07/2626597.html

http://zhidao.baidu.com/link?url=knBlHE7vm912Lr_1c1OKlL_OYoyuuYQrRo4zLHbBYytBsjAP1VRCJFtZAOkBMMzDm_2kk69UlrE4RDdMwUO6X6SfFjRYKoUTMYnVPZrIvvm

MySQL是一个流行的开源关系型数据库管理系统,其提供的功能强大,使用广泛。在处理一些大型项目和数据存储时,通常需要实现数据库的远程访问和管理,以便于在不同地方进行查询和修改操作。本篇文章将介绍如何开放MySQL远程连接命令。 1、修改MySQL配置文件 在开始实现远程连接之前,需要修改MySQL的配置文件以打开对应的端口。可以先备份配置文件,然后使用编辑器打开 /etc/mysql/mysql.conf.d/mysqld.cnf ,找到 bind-address = 127.0.0.1 这一行,将其中的 127.0.0.1 改为 0.0.0.0 ,即可实现MySQL服务的远程连接允许。 2、设置MySQL的root账号远程访问权限 接下来需要设置 MySQL 的 root 账号远程访问权限,以允许从远程服务器连接到 MySQL 服务器。首先,登录到 MySQL 服务器,输入以下命令: mysql -u root -p 然后,输入 root 用户密码,进入 MySQL 终端。执行下面的命令: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 其中,’%’ 表示允许任何远程IP连接到 MySQL 数据库,这也就意味着有一定的安全风险,可以通过添加限制条件,如某个具体IP地址来降低风险。password是要设置的用户密码,可以根据实际需求进行修改。 3、重启MySQL服务 在修改MySQL配置文件和设置远程访问权限之后,需要重新启动 MySQL 服务以使更改生效。可以输入以下命令,重新启动 MySQL 服务器: systemctl restart mysql 这样就可以实现MySQL远程连接命令的开放。需要注意的是,MySQL是一个非常重要的数据库管理系统,因此在配置远程访问权限时要牢记安全原则,避免遭受攻击和恶意入侵。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值