2.打开cmd-----net start 查看mysql是否启动。启动的话就停止net stop mysql.
3.我的mysql安装在d:\usr\local\mysql4\bin下。
4.跳过权限检查启动mysql.
d:\usr\local\mysql\bin\mysqld-nt --skip-grant-tables
5.重新打开cmd。进到d:\usr\local\mysql4\bin下:
d:\usr\local\mysql\bin\mysqladmin -u root flush-privileges password "newpassword"
d:\usr\local\mysql\bin\mysqladmin -u root -p shutdown 这句提示你重新输密码。
6.在cmd里net start mysql
7.搞定了。
MySQL密码忘了的 *** 作:
1.关闭MySQL数据库,因为root密码忘记了,mysqladmin无法使用,此时,只能通过killpid关闭程序。在这里,科普一下kill和kill-9的区别默认参数下,kill发送SIGTERM信号给进程。
告诉进程,你需要被关闭,请自行停止运行并退出。kill-9发送SIGKILL信号给进程,告诉进程,你被终结了,请立刻退出。与SIGTERM相比,这个信号不能被捕获或忽略,同时接收这个信号的进程在收到这个信号时不能执行任何清理所以。
万不得已,不要通过kill-9杀掉进程,这可能导致MySQL数据库的物理结构损坏,无法重新启动。
2.在my.cnf文件部分添加skip-grant-tables参数。
3.登录数据库,修改root账户的密码以下是修改root密码的三种方式:
1>mysql>setpasswordfor'root'@'localhost'=password('123')。无需刷新权限表。
2>mysql>updatemysql.usersetpassword=password("456")whereuser="root"andhost="localhost"。
mysql>flushprivileges3>#mysqladmin-urootpassword"123"。
4.关闭数据库,注释掉skip-grant-tables参数,重新启动数据库。上面这种方式虽然不错,但是有个问题,你必须重启数据库,对于线上环境,这可能是不被允许的。
方法1: 用SET PASSWORD命令首先登录MySQL。
格式:mysql>set password for 用户名@localhost = password('新密码')
例子:mysql>set password for root@localhost = password('123')
方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑user表
首先登录MySQL。
mysql>use mysql
mysql>update user set password=password('123') where user='root' and host='localhost'
mysql>flush privileges
二、无法登录的修改方式,限于有权限修改mysql安装文件(此方法适用于linux)
方法4:在忘记root密码的时候,可以这样
以windows为例:
1.进入mysql安装目录,打开my.ini文件
2.找到[mysqld]配置行(注意,不是[mysql]),在其下一行输入:skip-grant-tables(或者:--skip-grant-tables,两者区别是有时两个横线会导致服务无法重启需要测试应当添加否。)
3.cmd命令:services.msc,找到mysql服务并重启(使修改的配置文件生效)
4.mysql命令行:use mysql(进入系统配置库)
5.mysql命令行:update user set password=password("123") where user="root"(别忘了最后加分号,分号意味着命令的结束)
6.mysql命令行:flush privileges(刷新缓存,更新数据库读取的密码别忘了最后加分号,分号意味着命令的结束)
7.退出mysql,或重启服务,密码设置成功。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)