安装mysql因为/tmp权限不足而导致ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)的解

Posted 为了更优秀的你,加油!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装mysql因为/tmp权限不足而导致ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)的解相关的知识,希望对你有一定的参考价值。

本机是centos 6.5  安装的mysql是5.1的版本。

在安装mysql之后,第一次启动mysql服务的时候,需要/tmp有777(rwxrwxrwx)的权限,然而楼主的/tmp是755(rwxr-xr-x)的,[其实默认的是777,我因为之前误删过tmp,然后自己建的tmp,而权限没跟着改,小白的悲伤,说多了都是泪= =]所以如果不知道这个坑的话,第一次基本会出错。这个时候再修改/tmp已经迟了, 所以只能重新安装mysql了

由于上述原因报的错误是:ERROR 1045 (28000): Access denied for user [email protected] (using password: NO)

  ps:看来什么东西的第一次都很重要啊,mysql也不例外(捂脸逃。。)

  网上所找到的方法大都是:

    # /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> 
    mysql> 

  然而这样试过之后,依然是ERROR 1045 (28000): Access denied for user [email protected] (using password: NO)。

  解决方案:彻底删除mysql,重新安装mysql

  具体过程如下:

1、先确保停止mysql

[[email protected] ~]# service mysqld stop
停止 mysqld: [确定]

2、查询mysql的相关包并全部删除

[[email protected] ~]# rpm -qa |grep -i mysql

mysql-server-5.1.73-7.el6.i686
mysql-5.1.73-7.el6.i686
perl-DBD-MySQL-4.013-3.el6.i686
mysql-libs-5.1.73-7.el6.i686
[[email protected] ~]# rpm -ev mysql-server-5.1.73-7.el6.i686
warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave
[[email protected] ~]# rpm -e --nodeps mysql-5.1.73-7.el6.i686
[[email protected] ~]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.i686
[[email protected] ~]# rpm -e --nodeps perl-DBD-MySQL-4.013-3.el6.i686
[[email protected] ~]# rpm -qa | grep -i mysql
mysql-libs-5.1.73-7.el6.i686
[[email protected] ~]# rpm -e --nodeps mysql-libs-5.1.73-7.el6.i686
[[email protected] ~]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
[[email protected] ~]# rm -rf /var/lib/mysql
[[email protected] ~]# rm -rf /var/lib/mysql/mysql

3、手动删除配置文件(默认不删除)

[[email protected] ~]# rm -rf /etc/my.cnf

4、确认删除是否彻底,查询不到任何结果即已经彻底删除
[[email protected] ~]# rpm -aq | grep -i mysql

5、修改/tmp的权限,重新安装mysql,启动之后mysql就能正常运行了。

以上是关于安装mysql因为/tmp权限不足而导致ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)的解的主要内容,如果未能解决你的问题,请参考以下文章

: fatal error LNK1104: cannot open file "Debug/wwww.exe"怎么回事呀

云帮手在windows下提示虚拟内存不足,如何解决?

mac ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock&

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' 。安装后出错

GitLab - 安装时提示/tmp目录无权限

报错集:ERROR 3 (HY000): Error writing file ‘/tmp/psyZMRtme‘ (Errcode: 28 - No space left on device)