mysqlAccessdeniedforuserroot@localhost错误解决⽅法总结
(转)
mysql Access denied for user \'root\'@\'localhost\'”解决办法总结,下⾯我们对常见的出现的⼀些错误代码进⾏分析并给出解决办法,有需要的朋友可参考⼀下。
错误代码 1045
Access denied for user 'root'@'localhost' (using password:YES)
解决办法是重新设置root⽤户密码,在Windows平台下操作步骤如下:
1、以系统管理员⾝份登录到系统;
2、如果MySQL服务器正在运⾏,停⽌它。
如果是作为Windows服务运⾏的服务器,进⼊服务管理器:开始菜单->控制⾯板->管理⼯具->服务
如果服务器不是作为服务⽽运⾏的,可能需要使⽤任务管理器来强制停⽌它。
3、创建1个⽂本⽂件,并将下述命令置于单⼀⾏中:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
⽤任意名称保存该⽂件。在本例中,该⽂件为。
4、进⼊DOS命令提⽰:开始菜单->运⾏-> cmd
假定你已将MySQL安装到C:mysql。如果你将MySQL安装到了另⼀位置,请对下述命令进⾏相应的调整。
在DOS命令提⽰符下,执⾏命令:
C:> C:mysqlbinmysqld-nt --init-file=
在服务器启动时,执⾏由“--init-file”选项(作⽤:在启动时从指定的⽂件中读取SQL命令)命名的⽂件的内容,更改根⽤户密码。当服务器成功启动后,应删除。网页设计与制作教程电子书
5、停⽌MySQL服务器,然后在正常模式下重启它。如果以服务⽅式运⾏服务器,应从Windows服务窗⼝启动它。如果以⼿动⽅式启动了服务器,能够像正常情形下⼀样使⽤命令。
应能使⽤新密码进⾏连接。
我的系统是Ubuntu6.06,最近新装好的mysql在进⼊mysql⼯具时,总是有错误提⽰:
mysql无法连接到服务器
# mysql -uroot -p
Enter password:渐变美甲图片大全女款
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
使⽤⽹上介绍的⽅法修改root⽤户的密码:
# mysqladmin -uroot -p password 'newpassword'
鹅们栖息地微博Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'
现在终于被我到了解决⽅法,如下(请先测试⽅法三,谢谢!):
⽅法⼀:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <;输⼊新设的密码newpassword>
另⼀篇关于linux错误
Red Hat Enterprise Linux 5服务器上mysql启动报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
原因1-启动命令错误:
我开始的时候直接输⼊命令:mysql start
正确的启动命令是:
/etc/rc.d/init.d/mysql start
原因2-配置⽂件错误:
检查etc下⾯的myf如下内容:
[client]
#password  = your_passwordfastjson maven
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中的默认值)
注意:另外还遇到需要service mysql star才能启动service mysql stop才能停⽌。
还有直接使⽤mysql不能到命令,错误为“bash: mysql: command not found”可以直接**mysql的安装⽬录中的bin⽂件夹跟绝对路径运⾏命令,还有的需要加./mysql 才能执⾏。
mysql修改密码⽅法有⼏种
⽅法⼀  超简单的vbs代码
使⽤phpMyAdmin
  (图形化管理MySql数据库的⼯具),这是最简单的,直接⽤SQL语句修改mysql数据库库的user表,不过别忘了使⽤PASSWORD函数,插⼊⽤户⽤Insert命令,修改⽤户⽤Update命令,删除⽤Delete命令。在本节后⾯有数据表user字段的详细介绍。 
⽅法⼆ 
  使⽤mysqladmin。输⼊ 
  mysqladmin -u root -p oldpassword newpasswd 
执⾏这个命令后,需要输⼊root的原密码,这样root的密码将改为newpasswd。同样,把命令⾥的root改为你的⽤户名,你就可以改你⾃⼰的密码了。
  当然如果你的mysqladmin连接不上mysql
  server,或者你没有办法执⾏mysqladmin,那么这种⽅法就是⽆效的,⽽且mysqladmin⽆法把密码清空。 
  下⾯的⽅法都在mysql提⽰符下使⽤,且必须有mysql的root权限: 
⽅法三 
  mysql> INSERT INTO mysql.user (Host,User,Password) VALUES('%','system', PASSWORD('manager'));
  mysql> FLUSH PRIVILEGES   
  确切地说这是在增加⼀个⽤户,⽤户名为system,密码为manager。注意要使⽤PASSWORD函数,然后还要使⽤FLUSH
  PRIVILEGES来执⾏确认。 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。