1. 数据库忘记密码
-- 忘记密码怎么办
只介绍一种方法,其余的方法可以自己去尝试
1.关闭mysql服务端 net stop mysql
2.输入mysqld --skip-grant-tables # 以跳过授权表的方式在命令行中启动mysqld服务端
3.再打开一个cmd 输入 mysql -uroot -p 不用输入密码,直接登录
4.重置mysql.user表中的密码
mysql> update mysql.user set password=password('123') where user='root' and host='localhost'
mysql> flush privileges # 对于用户和权限的操作,建议每次都使用刷新
5.停止mysql服务(刚刚是以跳过授权方式启动的,需要关闭,此时是通过mysqld启动,服务端是夯住的,Ctrl+C停止服务)
6.net start mysql 重启服务
7.输入:mysql -uroot -p123 即可登录
2.修改密码的三种方式
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
3. 用UPDATE直接编辑那个自动的mysql库中的user表
用UPDATE直接编辑那个自动的mysql库中的user表
首先登录MySQL,连接上mysql服务端。
mysql> use mysql; use mysql的意思是切换到mysql这个库,这个库是所有的用户表和权限相关的表都在这个库里面,我们进入到这个库才能修改这个库里面的表。
mysql> update user set password=password('123') where user='root' and host='localhost'; 其中password=password('123') 前面的password是变量,后面的password是mysql提供的给密码加密用的,我们最好不要明文的存密码,对吧,其中user是一个表,存着所有的mysql用户的信息。
mysql> flush privileges; 刷新权限,让其生效,否则不生效,修改不成功。
3. MySQL客户端连接服务端时的完整指令
mysql -h 127.0.0.1 -P 3306 -u root -p
4. 查看字符集编码的指令:
show variables like "%char%";