今天在开始学习mysql,在linux中安装好后,发现输入mysql -uroot -p时候,咦,要我输入密码,但是我安装时候没有提示我要设置密码呀!于是乎我不管输入什么密码,都是显示的
ERROR 1698 (28000): Access denied for user ‘root’@'localhost’
我就奇怪啦!,上网查了好久,很奇怪网上方法完全不管用,而且设置提供的文件目录,以及描述不完全相同.
我稍微总结了一下,大致愿意就是说,在Linux安装mysql时候,因为没用设置密码造成的,解决方法大同小异,就是说,你进入 /etc/mysql/mysq.condf.d查看这个文件 然后呢在 mysqld下面添加上 skip-grant-tables然后重启一下mysql,你就可以啦,没问题啦!
重启mysql的操作是: 在终端输入 service mysql restart
但是,我还是失败了,很奇怪,大概是因为大家都是转别人的吧
下面,我总结了总结,方法以及原因,写在一块:
1.至于为什么,会没有安装了mysql不管输入什么密码,都会报错误,也按上面修改了也没有办法的原因是,在你用mysql登录root进去时,其实早已经有密码了,而且挺复制的,有一个文件夹保存了它的密码大致接收NMDSJhgjs12231(差不多接收这样的,相信我,不是我随便输的…),所有所有,你按网上方法没有用!!! (不过我写这个博客时候,想不起来来文件夹的位置了,有兴趣的你们可以去找找看其他人写的博客)
2.那么,下面我来说一下,我的解决方法,其他就是修改root的密码,那我们问题不就解了吗?
在终端输入: (使用sudo是可以直接免密度登录的喔!!)
sudo mysql -uroot -p
3.查看我们的数据库
在mysql中输入:
show databases;
你会看到有一个mysql
4.查看用户信息
select user,plugin from mysql.user;
5.接下来,我们就设置一下密码
update mysql.user set authentication_string=PASSWORD('××××'),plugin='mysql_native_password' where user='root';
注意看好代码了,不要满目的复制代码, xxxx的内容是你想设置的密码,看我图片,我设置了密码为123456
6.刷新数据库
flush privileges;
7.退出MySQL
输入(\q、exit;、quit;)都可以退出,然后重启MySQL,然后就可以直接输入mysql登录了
service mysql restart
mysql -uroot -p
现在你就可以开心的进去啦!!!