level 2
木子雨露two
楼主
解决 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 问题
初次安装,不需密码进入,最好设置一下密码,否则就跟我一样,再次登陆遇到一堆问题。
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
看网上有好些方法,但因为版本不同或者centos不同,可能解决也不一样,我的centos7,mysql是5.6.39
查看版本命令:在mysql中用#status or #select version(); 在虚拟机中可用mysql --help |grep Distrib
网上用# /etc/init.d/mysqld stop or service mysql stop/start //停止mysql服务的运行,我不行,
我用的是#systemctl stop/start mysqld,大家可以自己试。
试完后,
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & //跳过受权表访问
再用# mysql -u mysql //登录mysql 有的写# mysql -uroot mysql //登录mysql 这个能登陆最好,否则会遇到接下来我遇到的问题。
反正现在可以进入mysql了。
然后看网上一些大神开始设置密码和用户,
在mysql5.7以下的版本如下:
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='127.0.0.1' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
在mysql5.7版本如下:
update mysql.user set authentication_string=password('newpassword') where user='root' and host='127.0.0.1' or host='localhost';
于是我两个都试了,都报错:ERROR 1142 (42000):UPDATE command denied to user ''@'localhost' for table 'user
然后又百度,说是权限问题,然后又开始一系列尝试,(好吧,我承认我是一个小白)
好像是因为登陆时,用户以及密码都未设置,
试了好几种方法,下面大神的方法最适合我,当然具体命令有差异,
先关闭MySQL,#systemctl stop/start mysqld.service
再屏蔽权限 # mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
再新开一个端口,输入 #mysql -uroot -p
在设置下密码UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误。
再重启mysql,我的可以用了……
2018年04月12日 11点04分
1
初次安装,不需密码进入,最好设置一下密码,否则就跟我一样,再次登陆遇到一堆问题。
# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
看网上有好些方法,但因为版本不同或者centos不同,可能解决也不一样,我的centos7,mysql是5.6.39
查看版本命令:在mysql中用#status or #select version(); 在虚拟机中可用mysql --help |grep Distrib
网上用# /etc/init.d/mysqld stop or service mysql stop/start //停止mysql服务的运行,我不行,
我用的是#systemctl stop/start mysqld,大家可以自己试。
试完后,
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & //跳过受权表访问
再用# mysql -u mysql //登录mysql 有的写# mysql -uroot mysql //登录mysql 这个能登陆最好,否则会遇到接下来我遇到的问题。
反正现在可以进入mysql了。
然后看网上一些大神开始设置密码和用户,
在mysql5.7以下的版本如下:
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root' and host='127.0.0.1' or host='localhost';//把空的用户密码都修改成非空的密码就行了。
在mysql5.7版本如下:
update mysql.user set authentication_string=password('newpassword') where user='root' and host='127.0.0.1' or host='localhost';
于是我两个都试了,都报错:ERROR 1142 (42000):UPDATE command denied to user ''@'localhost' for table 'user
然后又百度,说是权限问题,然后又开始一系列尝试,(好吧,我承认我是一个小白)
好像是因为登陆时,用户以及密码都未设置,
试了好几种方法,下面大神的方法最适合我,当然具体命令有差异,
先关闭MySQL,#systemctl stop/start mysqld.service
再屏蔽权限 # mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
再新开一个端口,输入 #mysql -uroot -p
在设置下密码UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误。
再重启mysql,我的可以用了……