问题: 在登录Linux服务器上的Mysql时,试了好多次root密码始终没试对,没办法,只能在网上搜解决方案。
解决方案:大致就是设置mysql启动配置,然后通过增加skip-grant-tables
来跳过权限验证。步骤如下:
- 修改配置文件
vim /etc/my.cnf
, 在[mysqld]
配置下面增加skip-grant-tables
代码并保存关闭; - 重启mysql服务;命令为
mysqld restart
或者systemctl restart mysqld
,取决于linux版本; - 登录mysql:
mysql -u root -p
,此时因为不会进行权限验证,所以输入任何密码都可以进入mysql应用; - 修改密码:输入
use mysql
切换到mysql库,执行flush privileges
,修改密码alter user 'root'@'localhost'IDENTIFIED BY '新密码'
。如果是Mysql 8.0以上版本,密码强度要求存在大小写字母+数字。如果想设置为123456简单密码, 需要修改mysql的配置。 - 删掉第1步中的
skip-grant-tables
; - 执行第2步,重启mysqld服务。
修改完毕后即可通过密码进行登录。