对于想了解MySQL忘记密码重置密码的读者,本文将提供新的信息,我们将详细介绍mysql忘记密码重置密码怎么办,并且为您提供关于Django通用类视图实现忘记密码重置密码功能、Linux系统MySQL
对于想了解MySQL忘记密码重置密码的读者,本文将提供新的信息,我们将详细介绍mysql忘记密码重置密码怎么办,并且为您提供关于Django通用类视图实现忘记密码重置密码功能、Linux系统MySQL忘记密码,重置密码,忽略表名、列名大小写的方法、Mac mysql忘记密码、MySQL 8.0 忘记密码,重置密码,允许远程访问的有价值信息。
本文目录一览:- MySQL忘记密码重置密码(mysql忘记密码重置密码怎么办)
- Django通用类视图实现忘记密码重置密码功能
- Linux系统MySQL忘记密码,重置密码,忽略表名、列名大小写的方法
- Mac mysql忘记密码
- MySQL 8.0 忘记密码,重置密码,允许远程访问
MySQL忘记密码重置密码(mysql忘记密码重置密码怎么办)
有时候忘记了密码需要重置密码,或者是连接数据库报错的时候可以尝试重置密码后再进行连接
首先确保 MysqL 服务是关闭状态,关闭服务的方式:
1、用命令 net stop MysqL
以管理员身份运行cmd后,先进入MysqL的下载bin目录后,再执行停止服务命令
2、进入计算机服务来停止
我的电脑--右键管理
右键服务,停止服务
接着输入MysqLd --console --skip-grant-tables --shared-memory
命令来免密启动服务。
1 |
MysqLd --console --skip-grant-tables --shared-memory
|
然后再打开一个 cmd 窗口(注意是另外打开一个,当前打开的不要关闭),输入MysqL -uroot -p
命令,并点击两次回车即可免密登录(或者直接输入MysqL 并回车也行)。
修改密码。
首先使用flush privileges;
命令刷新权限。
1 |
flush privileges ;
|
然后直接使用set password for root@localhost = '新密码';
命令设置密码即可。
1 |
set password for root@localhost = '新密码' ;
|
Django通用类视图实现忘记密码重置密码功能
前言
在Django中有大量的通用类视图,例如ListView,DetailView,CreateView,UpdateView等等,将所有重复的增删改查代码抽象成一个通用类,只需要配置极少量的代码即可实现功能。
使用通用类视图完成找回密码功能
首先引入
from django.contrib.auth.views import PasswordResetView, PasswordResetConfirmView, \
PasswordResetDoneView, PasswordChangeView, PasswordChangeDoneView, \
PasswordResetCompleteView
配置如下:
class MyPasswordResetView(PasswordResetView):
"""重置密码视图"""
template_name = ''users/registration/forget_pwd.html''
form_class = ForgetForm
success_url = reverse_lazy("users:password_reset_done")
email_template_name = ''users/registration/password_reset_email.html''
class MyPasswordResetConfirmView(PasswordResetConfirmView):
"""重置密码页面,输入两次密码"""
template_name = ''users/registration/password_change_form.html''
success_url = reverse_lazy(''users:password_reset_complete'')
class MyPasswordResetDoneView(PasswordResetDoneView):
"""发送确认重置邮件"""
template_name = ''users/registration/password_reset_done.html''
class MyPasswordResetCompleteView(PasswordResetCompleteView):
"""完成重置密码"""
template_name = ''users/registration/password_change_done.html''
其中忘记密码,填写邮箱的模板forget_pwd.html
模板如下:
<form method="post"action="{% url ''users:password_reset'' %}">
<div>
<input id="login-username" type="text" name="email" required data-msg="请输入您的邮箱">
<label for="login-username">邮箱</label>
{% if form.errors %}
<div>邮箱输入错误</div>
{% endif %}
</div>
{% csrf_token %}
<button type="submit" id="login" href="#">发送确认邮件</button>
<!-- This should be submit button but I replaced it with <a> for demo purposes-->
</form>
其中输入新密码模板password_change_form.html
页面如下:
<form id="form" method="post">
{% csrf_token %}
{{ form|crispy }}
<div>
<button type="submit">确认更改</button>
</div>
</form>
其中重置密码邮件发送成功的模板password_reset_done.html
如下:
<div>
<div>
<div>
<h1>重置密码邮件发送成功!</h1>
</div>
</div>
</div>
其中密码重置成功password_change_done.html
如下:
<div>
<div>
<div>
<h1>重置密码成功!</h1>
<a href="{% url ''index'' %}">回到首页</a>
</div>
</div>
</div>
最后配置路由
path(''password/reset/'', view=MyPasswordResetView.as_view(), name=''password_reset''), # password_reset
path(''password/reset/done/'', MyPasswordResetDoneView.as_view(), name=''password_reset_done''), # password_reset_done
url(r''^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$'',
view=MyPasswordResetConfirmView.as_view(), name=''password_reset_confirm''), # reset
path(''reset/done/'', MyPasswordResetCompleteView.as_view(), name=''password_reset_complete''),
效果如下:
Linux系统MySQL忘记密码,重置密码,忽略表名、列名大小写的方法
在linunx系统刚装的MySQL,忘记曾经设置的密码或者安装过程无法设置密码时,试图用常用的密码猜测,如:1,11,111,1111,11111,111111,123456,000000,1234321等等最简单的默认密码来试探,结果试遍了也不对,还是无法进入mysql。原因可能是你当初设置的密码比较复杂后来给忘了,更可能的原因是你安装过程中没允许设置密码,这样的密码一般是MySQL随机生成的一大串由大小写字母、数字和符号组合成的复杂密码。这样的密码不需要白费力去试探了,这就需要通过特殊的方式来解决,就是改配置文件/etc/my.cnf。
步骤:
1.输入su -及密码,进入root权限。
2.停止MySQL,输入service mysqld stop
3.输入vi /etc/my.cnf,进入配置文件my.cnf进行编辑
4.找到[mysqld],在下面加入一行skip-grant-tables=1
5.Linux系统刚安装的mysql一般对数据库的表名大小写是敏感的,可在[mysqld]下再加入一行
lower_case_table_names=1
,表示忽略大小写,等于0则代表对大小写敏感
6.光标移到最下,输入:wq(有冒号)自动保存退出
7.启动mysql,输入service mysqld start
8.输入mysql -uroot -p,提示输出密码时,直接回车不管,就可以进入
9.输入use mysql;
10.改密码。输入update user set password=PASSWORD(''12345678'') where user="root";
---将root密码设置为12345678
11.输入exit,退出
12.别忘了把skip-grant-tables=1注掉,再次输入vi /etc/my.cnf,找到刚才加的skip-grant-tables=1前面加#注掉,:wq,退保存出。
13.重启mysql,service mysql restart,
14.再次输入mysql -uroot -p
,输入密码12345678,登录成功!
注:
linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写。
用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写。
其中 0:区分大小写,1:不区分大小写
MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。
以上所述是小编给大家介绍的Linux系统MySQL忘记密码,重置密码,忽略表名、列名大小写,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
- MySQL大小写敏感的注意事项
- MySQL 字符类型大小写敏感
- mysql如何设置不区分大小写
- MySQL大小写敏感导致的问题分析
- 解决MySQl查询不区分大小写的方法讲解
- MySQL数据库大小写敏感的问题
- mysql表名忽略大小写配置方法详解
- 详解MySQL查询时区分字符串中字母大小写的方法
- MySql查询不区分大小写解决方案(两种)
- MySQL库表名大小写的选择
Mac mysql忘记密码
更改my.cnf配置文件
- 找到my.cnf的位置,不同电脑可能不大一样,我这里是
/usr/local/etc/my.cnf
,也有可能是/etc/my.cnf
- 修改my.cnf
vim my.cnf
- 在[mysqld]下添加skip-grant-tables,然后保存并退出
- 重启mysql服务
找到mysql服务路径,我这里是/usr/local/Cellar/mysql/8.0.17/support-files/mysql.server
cd /usr/local/Cellar/mysql/8.0.17/support-files
mysql.server restart
修改密码
- 重启以后,执行
mysql -uroot -p
(不需要密码直接Enter)进入mysql命令行
- 修改密码
执行
mysql> update user set password=password("*******") where user="*******"; #修改密码报错
如果上面报错ERROR 1054 (42S22): Unknown column ''password'' in ''field list''
,
(错误的原因是 5.7版本下的mysql数据库下没有password这个字段,password字段改成了authentication_string)
请尝试以下语句
mysql> update mysql.user set authentication_string=password(''*******'') where user=''*******''; #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
如果以上命令还是不行,那么请尝试
mysql> flush privileges; #立即生效
mysql> ALTER user ''root''@''localhost'' IDENTIFIED BY ''12345678'';
- 修改立即生效
mysql> flush privileges; #立即生效
Query OK, 0 rows affected (0.00 sec)
mysql> quit #退出mysql -- 也可以使用 exit;命令
Bye
删除skip-grant-tables
重新执行vim /etc/my.cnf,然后删除刚刚加入的 skip-grant-tables,重新启动mysql
参考链接
- https://www.jianshu.com/p/8b8a2d0a2051
- https://www.cnblogs.com/qianzf/p/7089197.html
- https://www.cnblogs.com/xingxiangyi/p/9334694.html
MySQL 8.0 忘记密码,重置密码,允许远程访问
忘记密码使用-init-file重置MySql的 root密码
1.重置密码
1.登录mysql所在的机子,创建一个本地文件
vim /init-file.txt
内容
ALTER USER ''root''@''localhost'' IDENTIFIED BY ''new_password'';
2.关闭mysql服务
systemctl stop mysqld.service
3.使用mysql命令重置密码
mysqld --user=mysql --init-file=/init-file.txt --console
可能输入之后会一直卡住,可以切换一个新的窗口
4.重启mysql
systemctl restart mysqld.service
5.输入新密码
mysql -u root -p
2.修改远程连接
1.切换到 mysql库
use mysql
2.修改连接权限
update user set host=''%'' where user =''root'';
3.授权远程连接
grant all on *.* to ''root''@''%'';
4.刷新权限
flush privileges;
今天关于MySQL忘记密码重置密码和mysql忘记密码重置密码怎么办的介绍到此结束,谢谢您的阅读,有关Django通用类视图实现忘记密码重置密码功能、Linux系统MySQL忘记密码,重置密码,忽略表名、列名大小写的方法、Mac mysql忘记密码、MySQL 8.0 忘记密码,重置密码,允许远程访问等更多相关知识的信息可以在本站进行查询。
本文标签: