MySQL刚安装完只认得的主机是:localhost和127.0.0.1,mysqllocalhost
MySQL刚安装完只认得的主机是:localhost和127.0.0.1,如果你要让你机上的IP可以正常登录有两种办法:
一是对你的IP 172.16.1.10 进行授权
grant privileges on dbname.* to "user "@ "172.16.1.10 " identified by "password ";
如果只是你自己用的话就可以这样写
grant all on *.* to "user "@ "172.16.1.10" identified by "password ";
grant具体的用法你就参考一下mysql的用户手册吧,如果这样不行的话,就只能通过以下方法进行授权了
mysql> use mysql;
database changed
mysql> desc user; 查看有多少个字段
mysql> insert into user values(val1,val2,....);
二是就将root用户设为可以远程登录,也即是可以从任何机器上登录
mysql> use mysql;
database changed
mysql> update user set host= "%" where user= "root";
mysql>use mysql
grant all on *.* to
"root"@"172.30.41.72" identified by "xcfg304";
restart mysql server
方法三:直接在mysql的数据库管理后台执行:
use mysql;
grant all on *.* to
"root"@"172.30.41.95" identified by "xcfg304";
查看一下system32下的hosts文件,看是不是把localhost指向到其他地址了
默认只有一条这样的信息
localhost 127.0.0.1
打开的是什么??
是你机子上别的网址还是?
你在运行输入 CMD
然后 Ping localhost
看看出现的IP地址是多少
localhost 代表的是本地的意思
一般来说 代表IP地址的话就是127.0.0.1
也就是说 我 ping 127.0.0.1 == ping localhost
127.0.0.1是代表自己机器的回路地址,无论是否联网,自己机器都是127.0.0.1,127段是保留区段。
localhost与127.0.0.1的关系:
localhost可以看成主机名,127--可以看成主机ip,中间曾在一个主机名到ip地址的映射!
如果你在mysql中连接数据库,要用localhost而不能用127.0.0.1。因为mysql中对于用户的登陆位置是有限定的,具体见mysql数据库(database名字就是mysql)里面的user表,里面存放的ip和存放的域名是不一样的,mysql进行匹配时不会自动将ip转换成域名的。你授权一个用户从这个ip访问,不等于授权他从这个余名访问。
1、mysql -h 127.0.0.1 的时候,使用TCP/IP连接,
mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain" 。
2、mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket;
此时,mysql server则认为该client是来自"localhost" 。