前段时间在服务器上安装MySQL,但是安装过程中并没有像教程里说的会跳出提示设置密码的文段。它自己就安装好了。安装完成后用mysql -uroot -p
登录,输了很多次密码也没登录成功,于是在网上查了很多提问,我在这里归纳一下两种可行的方法:
一、修改mysql服务器的配置文件,跳过登录验证
-
首先找到mysql的配置文件,我电脑上的路径是
/etc/mysql/my.cnf
,然后在[mysqld]的部分添加一行信息skip-grant-tables
(没有[mysqld]
这个部分的话可以自己加上去,[mysqld]
是服务器启动加载的配置部分):[mysqld] port=3306 datadir=/mysqldata01/data pid-file=/mysqldata01/mysql57.pid socket=/mysqldata01/mysql57.sock log-error=/mysqldata01/mysql57-err.log user=mysql skip-grant-tables # 添加的信息
-
保存成功后就可以直接用
mysql -uroot -p
无密码登录了,登录后修改密码的方法跟正常密码登录想修改密码的方法一样:use mysql; update user set authentication_string=PASSWORD("yourpassword") where user='root'; flush privileges;
进入mysql数据库然后修改user数据表的authentication_string字段,5.7版本的MySQL没有了password字段,所以网上有些方法写的是更改password字段,这个是以前版本的,可以提前用desc user看看你当前版本的MySQL是password还是authentication_string