服务器的 mysql 密码问题

原来在服务器装了mysql,后面在服务器上想安装其他的服务,没装成功,然后导致所有其他服务都停了,其他服务可以重新启动,但是原来mysql用不了,运行mysql -uroot -p 输入原来密码都不正确了,然后删了mysql所有文件和停止了所有服务重新装了很多遍也都需要输入密码(不是重新安装不用输入密码吗),不知道什么问题,有大佬可以指点下吗

阅读 1.5k
2 个回答

因为没有my.conf文件
最后用这种方式
service mysql stop // 停止MySQL 服务
mysqld_safe --skip-grant-tables & // 设置安全模式进入
mysql -u root // 免密码登录
use mysql ;
FLUSH PRIVILEGES; // 刷新权限
SET PASSWORD FOR 'root'@'localhost' = '密码' // 设置新密码
FLUSH PRIVILEGES; //刷新权限

可以使用 mysql 的绕过密码登录, 然后登录进去再修改 mysql root 用户的密码,

  1. 配置你的 my.cnf 文件
[mysqld]
skip-grant-tables
  1. 然后重新启动
  2. 修改 mysql root 用户密码
update mysql.user set authentication_string = password('root'), plugin = 'mysql_native_password' where user = 'root';`

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

flush privileges;
  1. 去掉免密登录, 并重启 mysql
  2. 尝试用新密码 root 登录

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题