解决MysqlERROR1045(28000):Accessdeniedforuser&#3_MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了解决MysqlERROR1045(28000):Accessdeniedforuser&#3_MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3488字,纯文字阅读大概需要5分钟。
内容图文
![解决MysqlERROR1045(28000):Accessdeniedforuser_MySQL](/upload/InfoBanner/zyjiaocheng/572/f6cad3d02c8a4f509d9096a1ea00ff54.jpg)
原因1-启动命令错误:
我开始的时候直接输入命令:mysql start
正确的启动命令是: /etc/rc.d/init.d/mysql start
原因2-配置文件错误:
检查etc下面的my.cnf如下内容:
[client]
#password = your_password
port = 3306
socket = /usr/mysql-data/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /usr/mysql-data/mysql.sock
原因3-启动文件错误:
需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,
其中datadir= ? 一行检查下!
原因4-前提是你在使用php连接时候报错!
在/etc/php.ini修改mysql.default_socket的值设置为:
mysql.default_socket=/var/lib/mysql/mysql.sock
回到终点设置个连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
(在/etc/php.ini中mysql.default_socket这个文件中,关于mysql.default_socket的值的说明是这样的,
;Default socket name for local MySQL connects. If empty, uses the built-in MySQL defaults.
这个值一开始是空的,也就是说,如果我们不主动去修改的话,php将会使用内建在mysql中的默认值) 另一篇文章:Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题的解决
这种问题需要强行重新修改密码,方法如下:
/etc/init.d/mysql stop (service mysqld stop )
/usr/bin/mysqld_safe --skip-grant-tables
另外开个SSH连接
[root@localhost ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit
pkill -KILL -t pts/0 可将pts为0的**用户(之前运行mysqld_safe的用户窗口)强制踢出
正常启动 MySQL:/etc/init.d/mysql start (service mysqld start)
注意:另外还遇到需要service mysql star才能启动service mysql stop才能停止。
还有直接使用mysql不能找到命令,错误为“bash: mysql: command not found”可以直接**mysql的安装目录中的bin文件夹跟绝对路径运行命令,还有的需要加./mysql 才能执行。 本文来自:http://sundful.javaeye.com/blog/704337 另一篇关于清除密码、重置用户的文章: Quote:
First things first. Log in as root and stop the mysql daemon. sudo /etc/init.d/mysql stop Now lets start up the mysql daemon and skip the grant tables which store the passwords. sudo mysqld_safe --skip-grant-tables& (press Ctrl+C now to disown the process and start typing commands again) You should see mysqld start up successfully. If not, well you have bigger issues. Now you should be able to connect to mysql without a password. sudo mysql --user=root mysql update user set Password=PASSWORD('new-password'); flush privileges; exit; Now kill your running mysqld then restart it normally. sudo killall mysqld_safe& (press Ctrl+C now to disown the process and start typing commands again) /etc/init.d/mysql start You should be good to go. Try not to forget your password again. |
MySQL Authentication Denial
3/29/2005, 12:05 amIt seems to me that a lot of people have auth denial when trying to make connections to MySQL. They seem to ignore the text of the error message. ‘Access Denied’ means access denied, nothing else.
Remember three things have to match. The host as MySQL sees it, the username, and the password. When MySQL returns access denied it’s not broken. One or more of those three things does not match. I don’t really need to reiterate what’s in the manual. Chang the lock or change the key to make it fit.
其中连接到mysql的文档内容为:http://dev.mysql.com/doc/refman/5.5/en/access-denied.html内容总结
以上是互联网集市为您收集整理的解决MysqlERROR1045(28000):Accessdeniedforuser&#3_MySQL全部内容,希望文章能够帮你解决解决MysqlERROR1045(28000):Accessdeniedforuser&#3_MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。