MySQL远程访问权限,同时允许远程连接和本地连接

21 篇文章 0 订阅
1、登陆mysql 数据库    
    mysql -u root -p
mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| centos       | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 127.0.0.1    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)
 
   可以看到在user表中已创建的root用户。host字段表示可以登录的主机,其值可以用IP,也可用主机名,现在是有三个本地HOST可以登录,现在可以将host为centos改为远程主机都可以访问,即
 update user set host = ’%’ where user = ’root’ and host = ‘centos’;
改后表结构:
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 127.0.0.1    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
此时本地主机localhost和127.0.0.1可用于本地登录,%表示允许所有远端登录
然后执行
mysql> flush privileges;     立即生效
mysql> quit;
现在便可在本地或者远端登录了。



   
   
2、实现远程连接(授权法)
   将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。   
   update user set host = ’%’ where user = ’root’;
   将权限改为ALL PRIVILEGES
mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)  www.2cto.com  
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 127.0.0.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)
这样机器就可以以用户名root密码root远程访问该机器上的MySql.


| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要远程连接MySQL,需要进行以下步骤: 1. 首先,确认MySQL是否允许远程登录。默认情况下,MySQL允许本地登录。如果需要远程访问数据库,需要修改MySQL的配置文件。可以通过修改`my.cnf`文件中的`bind-address`参数,将其改为服务器的IP地址或者`0.0.0.0`来允许所有IP地址的远程连接。 2. 确保在MySQL中创建了允许远程连接的用户。可以使用以下命令在MySQL中创建一个允许远程连接的用户: ``` CREATE USER '用户名'@'远程主机IP' IDENTIFIED BY '密码'; ``` 例如,要创建一个名为root,密码为root的用户,可以使用以下命令: ``` CREATE USER 'root'@'%' IDENTIFIED BY 'root'; ``` 此命令将创建一个允许从任何远程主机连接的root用户。 3. 授予新创建的用户远程连接权限。可以使用以下命令为用户授予远程连接权限: ``` GRANT ALL PRIVILEGES ON *.* TO '用户名'@'远程主机IP'; ``` 例如,要为root用户授予从任何远程主机连接权限,可以使用以下命令: ``` GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';``` 这将授予root用户从任何远程主机连接MySQL服务器的权限。 4. 最后,重新加载MySQL权限表,以使更改生效。可以使用以下命令重新加载权限表: ``` FLUSH PRIVILEGES; ``` 这样,你就可以使用远程主机上的MySQL客户端连接MySQL服务器了。记得使用相应的用户名和密码进行连接。 要查看MySQL中的用户及其连接权限,可以使用以下命令: ``` USE mysql; SELECT User, authentication_string, Host FROM user; ``` 这将显示MySQL中的用户列表以及其对应的连接权限。 综上所述,要实现MySQL的远程连接权限,需要修改MySQL的配置文件以允许远程连接,创建允许远程连接的用户,并为该用户授予相应的权限。然后,通过MySQL客户端使用相应的用户名和密码进行远程连接。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值