linux系统mysql忘记登录密码怎么办
首先进入服务器内部
找到mysql的配置文件 编辑这个文件
vim /etc/my.cnf (默认的配置文件在/etc下面 如果你不是默认的 那就找到你自己安装在那个目录下的配置文件)
在*mysqld这个模块下面添加一行 skip-grant-tables
skip-grant-tables:跳过权限认证 不用验证就操作mysql
添加完保存退出
然后重启mysql
// 重启mysql
service mysqld restart
现在要进入mysql
// 现在要进入mysql 我的是root用户 如果有不同 请修改
msyql -u root -p
然后直接回车即可
然后进入mysql这个库
// An highlighted block
use msyql;
PS:这个分号;不要少 它的意义是一个结尾标识符
然后修改root登录密码
// 修改root的登录密码 我这里是root用户 如果有不同 把root换成你想要修改登录的用户即可
update user set authentication_string=password("密码") where user='用户';
例如:
update user set authentication_string=password("123456") where user='root';
PS:(“密码”)————("")括号和里面的双引号不要少 把密码这2字换成你想要的密码即可
‘用户’——————‘’单引号不要少 把用户这2个字换成你想要修改登录mysql的用户即可
修改完密码之后 然后刷新生效
// 刷新生效
flush privileges;
PS:这个分号;不要少 它的意义是一个结尾标识符
赋予权限用户权限
// 赋予这个用户权限 我这是root用户 如果有不同 请修改即可
ALTER USER '用户'@'localhost' IDENTIFIED BY '密码';
例如
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
PS:这里密码设置成和登录密码一样即可
开启外界连接信息:比如navicat
// 开启外界连接信息
GRANT ALL PRIVILEGES ON *.* TO '用户'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
例如:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
PS:我这里面是用的root用户 如果有不同请修改即可
刷新生效
// 刷新生效
flush privileges;
退出mysql数据库
exit;
修改/etc/my.cnf:删除skip-grant-tables这一行或者前面添加个#注释掉
vim /etc/my.cnf
保存退出
PS:我这是注释了
重启mysql
// 重启mysql服务
service mysqld restart
验证登录
// 验证登录
mysql -u root -p ————>回车————>密码 (我这是root用户 如有不同请把root换成你的登录用户即可)