首先登录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,或重启服务,密码设置成功。
1、首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:开始->菜单->cmd->net stop mysql
打开第一个cmd1窗口,切换到mysql的bin目录。
切换方法:首先找到mysql目录,我的目录是C:\Program Files (x86)\MySQL\MySQL Server 6.0\bin
然后运行命令:cd C:\Program Files (x86)\MySQL\MySQL Server 6.0\bin切换成功
然后运行命令:
mysqld --defaults-file="C:\Program Files (x86)\MySQL\MySQL Server 6.0\my.ini" --console --skip-grant-tables
注释:
该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。 此时已经开启了mysql服务了!相当于自己建立了一个mysql服务线程。
这个窗口保留 不关闭。
2、打开第二个cmd2窗口,同样切换到mysql的bin目录,连接mysql:
输入命令:
mysql -u root -p
出现:
Enter password:
在这里直接回车,不用输入密码。
然后就就会出现登录成功的信息,
使用命令:
show databases
使用命令切换到mysql数据库:
use mysql
使用命令更改root密码:
update user set password=password("123456") where user="root"
提示:123456可以 更改为其它密码,看自己喜好。
刷新权限:
flush privileges
然后退出
quit
可以关掉之前的cmd1 窗口了。
然后启动mysql服务
net start mysql
重新登录,输入
mysql -u root -p
出现输入密码提示,输入新的密码即可登录:
Enter password: ******
显示登录信息: 成功
问题解决
停止mysql服务,把mysql这个数据库目录复制一份为mysql_bak,然后重装mysql,使用新密码登录mysql后修改mysql_bak数据库user表里的相应用户的密码,
或把mysql.user表里的密码复制到mysql_bak.user相应用户密码记录
再次停止mysql服务,把mysql数据库目录删除,把mysql_bak数据库目录改名为mysql,启动mysql服务,
这样就可以使用新密码进行登录.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)