• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql 忘记root密码 通用办法

mysql 搞代码 4年前 (2021-12-20) 46次浏览 已收录 0个评论

一,装了二个不同版本的mysql,进入数据库要密码

今天又装了个新的mysql,因为以前的那个mysql比较老了,不支持mysql的分区功能,我又不想把老的删除掉,里面有好多,我实践过的东西,不舍得。我的电脑里面有二个不同版本的mysql,本想让这二个不同版本的mysql同时跑起来,没成功。我通过修改/share/mysql/mysql.server中的配置,让二个不同版本的mysql都能独立跑起来

vi /usr/local/mysql/share/mysql/mysql.server

then
 print_defaults="$bindir/my_print_defaults"
elif test -x $bindir/mysql_print_defaults
then
 print_defaults="$bindir/mysql_print_defaults"
else
 # Try to find basedir in /etc/my.cnf
 conf=/usr/local/mysql/my.cnf   //读取不同的mysql配置在这儿改
 print_defaults=
 if test -r $conf
 then
 subpat='^[^=]*basedir[^=]*=\(.*\)$'

在这里面修改调用mysql的配置文件,差不多在218行左右,如果你找不到mysql下面的share目录的话。你可以用这个命令查一下

[root@BlackGhost mysql]# whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/include/mysql /usr/local/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

从这儿我们就能发现share的目录了。

mysqld_safe –user=root 或者/usr/local/mysql/bin/mysqld_safe –user=root 启动后

mysql -u root

[root@BlackGhost zhangy]# mysql
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO)

root密码忘记了

二,解决办法

将启动mysql相关的进程全部停掉

ps -e|grep mysql |xargs killall
mysqld_safe --user=root --skip-grant-tables
mysql -u root
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;

这样就可以用新密码登录了,有一点我很不解,mysqld_safe –help里面竟然找不到–skip-grant-tables这个参数,为什么还能使用,mysqld_safe帮助不准确?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql 忘记root密码 通用办法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址