mysql的1045解决方法

mysql的连接方式有两种:

  • UNIX域套接字连接,如:

    mysql -u root -p

    mysql -h localhost -u root -p

  • TCP/IP套接字连接,如:

    mysql -h 客户端ip -u root -p


mysql数据库中的user表中的host值限制着mysql用户只能以什么样的方式连接。

host

user

127.0.0.1

root

::1

root

localhost

mysql

localhost

root

localhost

abc

Localhost.localdomian

root

以上是我的user表中的hostuser

根据user表中的host值来看,root用户可以在任何机器对mysql进行连接,而mysqlabc用户只能在本地使用UNIX域套接字的方式连接mysql


命令

连接类型

mysql -u user -p

UNIX域套接字

mysql –socket=/tmp/my.sock -u user -p

UNIX域套接字

mysql -h localhost -u user -p

UNIX域套接字

mysql -h domain -u user -p

TCP/IP套接字

mysql -h *.*.*.* -u user -p

TCP/IP套接字

mysql -h 127.0.0.1(-p*) -u user -p

TCP/IP套接字

mysql –sock=/tmp/mysql.sock -h 127.0.0.1 -u user -p

TCP/IP套接字

  以上是对mysql连接方式的介绍


所以如果在连接mysql 时出现1045提示,说明你的连接方式不正确。只要查看host中的值,然后选择相应的连接方式即可。


修改用户的连接方式(只能在ip192.168.109.45的机器连接)

  • 使用updatehost值进行修改:

update user set host = '192.168.109.45' where user = 'mysql';

  • grant修改

grant all privileges on *.* to 'user'@'192.168.109.45 identified by 'password' ;

 

grant的使用方法:grant 权限 on 数据库对象 to 用户名@host值;


注:host的值是%时,代表这个用户可以在任何地方连接mysql

posted @ 2014-12-27 21:32  xwq--  阅读(4485)  评论(0编辑  收藏  举报