昨天把密码给忘了 网上找了一番找到了一个好办法! 无 linux下忘记了mysql的root用户密码解决办法: 一、以系统的root用户(什么,你的系统的root用户密码也忘了。那只好看我另外一篇linux下忘记root用户的解决办法了先解决这个问题)登陆系统,进入终端 [roo
昨天把密码给忘了 网上找了一番找到了一个好办法!linux下忘记了mysql的root用户密码解决办法: 一、以系统的root用户(什么,你的系统的root用户密码也忘了。那只好看我另外一篇linux下忘记root用户的解决办法了先解决这个问题)登陆系统,进入终端 [root@localhost /]# 二、杀掉mysql进程 方法1、[root@localhost /]#killall mysqld 方法2、[root@localhost /]#ps -aux //查看所有进程,找到mysql进程的pid 然后 [root@localhost /]#kill pid //pid是mysql的进程号 三、用--skip-grant-tables参数启动mysqld [root@localhost /]#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables& // 其中/usr..../bin是我的mysql安装目录 [root@localhost /]#/usr/local/mysql/bin/mysql //进入mysql mysql> use mysql //切换到mysql database mysql> UPDATE user SET password=password('123456') WHERE user='root'; //将root密码该为123456了 四、注意事项 The full command to load MySQL like this is: mysqld_safe --skip-grant-tables --autoclose (Editor's Note: Our technical reviewer found that he had to launch the mysqld_safe command without the '--autoclose' flag, otherwise the daemon never started.) 这是国外网站说的,我没用autoclosa也成功了 但是我在执行/usr/local/mysql/bin/mysqld_safe --skip-grant-tables&即出现错误提示: ./mysqld_safe starting mysqld daemon with databases from /usr/local/var STOPPING server from pid file /usr/local/var/localhost.localdomain.pid mysqld ended 然后进入/usr/local/var/ vi ./localhost.localdomain.err 内容如下: 050410 04:02:59 mysqld started 050410 4:03:00 InnoDB:Operating system error number 13 in a file operation. InnoDB:The error means mysqld does not have the access rights to InnoDB:the directory. InnoDB:File name ./ibdata1 InnoDB:File operation call:'create'. InnoDB:Cannot continue operation. 050410 04:03:00 mysqld ended 怀疑是./var目录的访问权限,故如下操作: chmod 777 ./var 然后重新执行后台,仍出以上错误,但在localhost.localdomain.err文件中的错误信息已改为找不到一个叫做 help.*的文件了(这个文件名我记不得了) 这是因为我的mysql安装目录的读写权限是这样造成的 mysql安装目录属于用户root,但是群组是mysql的 把群组也改为root即可。