解决mysql不能远程登入的问题

mysql远程不能登入,问题就在于当时设置的账号只限制本地访问,mysql默认也只是本地访问。

之前的设置:

               通过命令行登录管理MySQL服务器(提示输入密码时直接回车):

     mysql> /usr/local/webserver/mysql/bin/mysql -u root -p -S /tmp/mysql.sock

     mysql>  GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY '12345678';
     mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'127.0.0.1' IDENTIFIED BY '12345678';

     (1)可以把127.0.0.1改成你希望访问的IP

      (2)'%'怎表示任何IP都可以访问。

1、修改表,登录mysql数据库,切换到mysql数据库,使用sql语句查看

2、授权用户,你想root使用密码从任何主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  IDENTIFIED BY 'admin123'  WITH GRANT OPTION;flush privileges;

如果你想允许用户root从ip为192.168.12.16的主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.16'   IDENTIFIED BY '123456'  WITH GRANT OPTION;

 

[root@localhost bin]# ./mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9277
Server version: 5.5.3-m3-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON *.* TO'admin'@'%' IDENTIFIED BY 'Xinying_2010';
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    9324
Current database: *** NONE ***

Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

注意:最后一句很重要,目的是使修改生效.如果没有写,则还是不能进行远程连接.

现在就可以使用mysql的客户端软件去连接你的数据库了

我使用的是Navicat for MySQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值