root用户密码设置及忘记密码的解决方法
root用户密码不能为空,需要设置一个密码,看下面设置密码的三种方法:
方法1: 用SET PASSWORD命令
首先登录MySQL,使用mysql自带的那个客户端连接上mysql。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin (因为我们将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,所以可以直接使用这个mysqladmin来修改密码)
关于mysqladmin的介绍:是一个执行管理操作的客户端程序。它可以用来检查服务器的配置和当前状态、创建和删除数据库、修改用户密码等等的功能,虽然mysqladmin的很多功能通过使用MySQL自带的mysql客户端可以搞定,但是有时候使用mysqladmin操作会比较简单。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
只用mysqladmin的时候,会出现一个warning警告信息:Warning: Using a password on the command line interface can be insecure.,这个没关系,是提示你,你直接在cmd下使用明文设置密码的时候,是不安全的,因为别人可以通过翻看你输入指令的历史记录来查看到你设置的密码,所以提示你一下
方法3:用UPDATE直接编辑那个自动的mysql库中的user表
首先登录MySQL,连接上mysql服务端。
1.mysql> use mysql;切换到mysql这个库,这个库是所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个库里面的表。
2.mysql> update user set password=password('123') where user='root' and host='localhost';
其中password=password('123') 前面的password是变量,后面的password是mysql提供的给密码加密用的,我们最好不要明文的存密码.其中user是一个表,存着所有的mysql用户的信息。
3.mysql> flush privileges; 刷新权限,让其生效,否则不生效,修改不成功。
在忘记root密码的时候,可以这样(注意:root密码最好不要忘记,找地方记录下来,不然如果是工作中你们使用的数据库(不管是测试的还是线上的,都是比较麻烦的事情,数据库轻易不会让你重启的,不过作为一个开发来讲,你应该是无法用root用户的~~~))