Mysql_不能用ip链接_能用localhost127.0.0.1链接_Ubuntu

 

Mysql_不能用ip链接_能用localhost 和 127.0.0.1链接

OS:Ubuntu

lijg@lijg-pc:~/tempdb$ mysql -h localhost -uroot -p 

lijg@lijg-pc:~/tempdb$ mysql -h 127.0.0.1 -uroot -p

 

但是用ip就不行了

 

lijg@lijg-pc:~/tempdb$ mysql -h 192.168.7.247 -uroot -p t800

Enter password: 

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.7.247' (111)

 

解决方法:

步骤1、确认已有账户权限

 

mysql> use mysql

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

mysql> select Host, user, password from user;

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

| Host          | user             | password                                  |

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

| localhost     | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| lijg-pc       | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| 127.0.0.1     | root             | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

| localhost     | debian-sys-maint | *F4464C1C25D56494A2BB5976B2D39C64A89B01B4 |

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

5 rows in set (0.00 sec)


加入权限:

grant all privileges on *.* to '用户名'@'IP地址' identified by '密码';

all privileges 所有权限 也可以写成 select ,update等
*.* 所有库的所有表 如 databasename.*
用户名 随便起
IP  数据库所在的IP
identified by ‘密码’ 表示通过密码连接

执行完上述命令后用下面的命令刷新一下权限

flush privileges;

另外也可以这样 加入权限(不推荐阿)

可以登录mysql,没有开放的账户的话可以使用以下语句添加账户、密码和权限

INSERT INTO `user` VALUES ('%','admin',PASSWORD('123456'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N','N','N','','','','',0,0,0,0,'',NULL);

INSERT INTO `user` VALUES ('localhost','admin',PASSWORD('123456'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');

FLUSH PRIVILEGES;

 

步骤2、确认防火墙是否启用

如果有启用请确认有开放通信端口(如3306),没有允许通信端口的话,请添加通信端口(其实这个是最重要的);

 

 

步骤3 检查配置是不是限制只能从localhost链接(ubuntu默认的安装方式)

 

1. 应该吧root的主机设置为%

2.修改my.conf配置

注意需要重新启动数据库,linux下启动、停止与重启 

/etc/init.d/mysql start/stop/restart

[mysqld]
...
bind_address=127.0.0.1 # 屏蔽掉该处 
...
[mysqld]
...
skip_networking # 屏蔽掉该处 

问题:mysql只能用localhost或127.0.0.1连接

解决:mysql安装完后,默认是root用户,root用户只能在服务器登录,需要分配新用户。

 

方法:
1.运行mysql客户端,以root用户登陆。

2.用如下命令选择需要操作的数据库,use database(数据库名),如:use multilingual;

3.用如下命令分配新用户: grant all on * to 'capinfo'(用户名) identified by 'capinfo'(密码);

  第一个capinfo是用户名,第二个capinfo是密码

4.退出即可使用IP用新增用户登陆

参考:

http://www.itkee.com/database/detail-795.html

http://blog.sina.com.cn/s/blog_53f716d40100haql.html

 

P

P

P

0 沉默的终止符号-------------------

P

P

P



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值