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表中的host和user值

根据user表中的host值来看,root用户可以在任何机器对mysql进行连接,而mysql和abc用户只能在本地使用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中的值,然后选择相应的连接方式即可。

修改用户的连接方式(只能在ip为192.168.109.45的机器连接)

  • 使用update对host值进行修改:

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。

时间: 2024-10-12 21:41:13

mysql的1045解决方法的相关文章

mysql error 1045 解决方法

分类: MySQL学习过程问题重现(以下讨论范围仅限Windows环境):C:\AppServ\MySQL> mysql -u root -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入 skip-grant-tables保存退出后重启mysql1.点击“开

mysql error nr.1045 解决方法

源地址:http://yanshuaijun.2010.blog.163.com/blog/static/362411622011102443056225/ 主题:mysql error nr.1045 解决方法 2011-11-24 16:30:56|  分类: mysql|举报|字号 订阅 1.进入cmd手动停止mysql服务:net stop mysql. 2.修改C:\Program Files\MySQL\MySQL Server 5.1\ 目录下的my.ini文件,在[mysqld]

mysql 安装错误 解决方法

错误及警告信息:TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option 解决方法:需要在my.cnf里面加入下面的参数:explicit_defaults_for_timestamp=true 错误及警告信息:Can't find messagefile '/usr/share/mysql/errmsg.sys 解决方法:需要在m

SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法

今天上班遇到的问题,新配的Linux服务器,php.Apache和一系列扩展插件装好后,在本地好好的程序移上去就一直抱数据库连接错误,而用sql命令却能连接上去, 做了一个简单的判断数据库连接页面还是不行,证明不是程序问题,而是php的哪里问题了,就在网上查了大半天 有些方法都不合情况后面偶然发现SELinux这个东西 查了下这个有限制httpd对外访问的权限:具体如下 输入命令:getsebool -a|grep -i httpd 里面会有一个 httpd_can_network_connec

MySql数据库乱码解决方法

MySql数据库乱码解决方法 解决乱码问题一个原则:存取系统使用一致的编码规则. 多使用mysql的原生命令行,这样才能做更多的事情. ? 第一步: 确认应用系统需要使用的编码 java的默认编码是跟随系统的,有的说是默认UNICode,在java中可以使用 String defaultCharsetName=Charset.defaultCharset().displayName();显示编码. 第二步: 确认并设置MySql的数据库的编码 1. 显示编码,简单的方法命令是:status; 或

phpmyadmin #2003 无法登录 MySQL服务器的解决方法

本文章向大家介绍phpmyadmin #2003 无法登录 MySQL服务器的解决方法,需要的码农可以参考一下. 通过phpmyadmin连接mysql数据库时提示:“2003 无法登录 MySQL服务器”...很明显这是没有启动mysql服务,右击我的电脑-管理-找到服务,找到mysql启动一下,,是不是启动有报错: “无法启动mysql服务 错误1067:进程意外中止 ” 然后就baidu google吧,多是说禁远程连接,要改my.ini文件,也有说防火墙的,总之对症下药. 不过同样的报错

linux下出现undefined reference to mysql init' 的解决方法

查看mysql配置的命令叫:mysql_config -L/usr/lib64/mysql -lmysqlclient \ 1.命令行后加入 -lmysqlclient 附有一个查看mysql配置的命令叫:mysql_config 再分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net linux下出现undefined reference to mysql init' 的解决方法 原

Laravel [1045] 解决方法 Access denied for user 'homestead'@'localhost'

1.确认database.php文件配置正确. 首先检查database.php中自己填写的信息是正确的. 2.检查.env文件 3.重启服务 一开始改动的时候就是不成功,花了很长时间发现没有清理缓存... 清理缓存重启服务 在命令行中进入程序根目录,执行下列语句. php artisan cache:clear php artisan config:clear php artisan serve Laravel [1045] 解决方法 Access denied for user 'homes

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)解决方法

问题:正常启动mysql,显示成功,查看状态报错 .并且不能连接 查看启动日志,发现是内存不够启动(低配云服务器) 解决方案: 1.停掉一些不使用的进程释放内存 2.在/var/lib/mysql/下创建一个空的   mysql.pid 文件 [[email protected] mysql]# echo >> chendu.pid 3.重新启动 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.s