在使用mysql时,如果想修改用户密码,怎么修改?我们可以借助客户端工具来修改,下面来看一下。
成都创新互联长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为广水企业提供专业的成都网站设计、网站制作、外贸营销网站建设,广水网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
01
打开客户端工具Navicat,打开数据库里的mysql库,这是一个系统数据库。
02
打开后,在Tables表里,找到user表,这是保存系统用户的一个表数据。
03
打开后,就可以在这里看到每个数据库的用户名和密码了。
04
要修改密码,我们点击单元格,让其变成编辑状态后,直接输入新的密码就行了。
1、编辑MySQL的配置文件:my.ini
一般在MySQL安装目录下有my.ini即MySQL的配置文件。
在此配置文件的最后添加如下一行:
skip-grant-tables
保存退出编辑。
2、然后重启MySQL服务
在命令行下执行:
net stop MySQL
net start MySQL
3、设置新的ROOT密码
然后再在命令行下执行:
MySQL -u root -p MySQL或mysql -u root -p
直接回车无需密码即可进入数据库了。
此时,在命令行下执行 use mysql;
现在我们执行如下语句把root密码更新为:
update user set password=PASSWORD("root") where user='root';
(注意:此时不用使用mysqladmin -u root -p password '你的新密码'这条命令修改密码,因为'skip-grant-tables'配置,
不信的话,你可以试用一下,它肯定会报如下所示的错误:
F:\Documents and Settings\longmysqladmin -u root -p password 'root'
Enter password:
Warning: single quotes were not trimmed from the password by your command
line client, as you might have expected.
mysqladmin:
You cannot use 'password' command as mysqld runs
with grant tables disabled (was started with --skip-grant-tables).
Use: "mysqladmin flush-privileges password '*'" instead)
exit 退出MySQL。
4、还原配置文件并重启服务
然后修改MySQL配置文件把刚才添加的那一行'skip-grant-tables'删除。
再次重起MySQL服务,密码修改完毕。
用新密码root试一下吧,又能登入重新进入mysql了?
方法1 用SET PASSWORD命令
1
1、打开终端win+r输入cmd回车即可打开;
2、通过mysql -u用户名 -p指定root用户登录MySQL,输入后回车会提示输入密码。
3、修改MySQL的root用户密码,格式:mysql set password for 用户名@localhost = password('新密码'); 例子:mysql set password for root@localhost = password('shapolang'); 上面例子将用户root的密码更改为shapolang ;
重新登录,输入新密码shapolang就ok了;
END
方法2 用mysqladmin
1
1、打开终端win+r输入cmd回车即可打开;
2、修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -pshapolang password 123456
上面例子将用户root原来的密码shapolang改为新密码123456
重新登录,输入新密码123456就ok了;
END
方法3 用UPDATE直接编辑user表
1
1、首先登录MySQL。
2、 连接权限数据库: use mysql; 。3、改密码:update user set password=password("shapolang") where user="root";(别忘了最后加分号) 。 4、刷新权限(必须步骤):flush privileges;
重新登录,输入新密码shapolang就ok了;
END
方法4 忘记root密码的时候
1
1、关闭正在运行的MySQL服务。
2、打开DOS窗口,转到mysql\bin目录。 3、 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4、再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 。 6、连接权限数据库: use mysql; 。 7、改密码:update user set password=password("root") where user="root";(别忘了最后加分号) 。 8、刷新权限(必须步骤):flush privileges; 。 9、退出 quit。
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;
方法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;
方法4:在忘记root密码的时候,可以这样
以windows为例:
1. 关闭正在运行的MySQL服务。
2. 打开DOS窗口,转到mysql\bin目录。
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5. 输入mysql回车,如果成功,将出现MySQL提示符 。
6. 连接权限数据库: use mysql; 。
6. 改密码:update user set password=password("123") where user="root";(别忘了最后加分号) 。
7. 刷新权限(必须步骤):flush privileges; 。
8. 退出 quit。
9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。
方法/步骤1 在cmd命令行下修改密码
1
第一步,打开命令行cmd 。如果不知道怎么进入,请看我之前的经验分享
2
第二步,在命令行中切换到mysql安装的目录下的bin文件夹下
笔者的安装路径是,C:\Program Files\MySQL\MySQL Server 5.6\bin。安装路径大家都差别不大,只是盘符稍有改动
3
第三步,按 mysqladmin -u用户名 -p旧密码 password 新密码
格式在命令行下输入。
笔者 旧密码是 123456 ,改后密码为123
END
方法/步骤2在sql命令行下修改密码
1
第一步,登录到sql命令行
2
第二步,使用sql语句修改root密码
1、打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址
2、打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。
3、输入命令 mysqld --skip-grant-tables 回车,此时就跳过了mysql的用户验证。4、注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。
5、然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。
6、输入show databases; 可以看到所有数据库说明成功登陆。
7、其中mysql库就是保存用户名的地方。输入 use mysql; 选择mysql数据库。
8、show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。
9、输入select user,host,password from user; 来查看账户信息。
10、更改root密码,输入update user set password=password('123456') where user='root' and host='localhost';
11、再次查看账户信息,select user,host,password from user; 可以看到密码已被修改。
12、退出命令行,重启mysql数据库,用新密码尝试登录。
13、测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。
14、我这地方重启数据库之后之所以不带密码任然能够登录是因为我的数据库里存在设无须口令的账户。