Mysql5.+忘记密码

# 最简单最粗暴的方法 找到mysql的配置文件直接编辑 
vim /etc/my.cnf

# 在 [mysqld] 中加上一行跳过权限限制
skip-grant-tables

# 保存退出 重启mysql服务
service mysqld restart

# 用户登录
mysql -uroot -p (直接点击回车,密码为空)

# 选择数据库	
use mysql;

# 但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码
update user set authentication_string=password('new password') where user='root';

# 刷新权限
flush privileges;

# 退出mysql
quit;

# 将最开始修改的配置文件my.cnf中的skip-grant-tables删除 重启mysql
service mysqld restart

# 当你登陆mysql之后你会发现,当你执行命令时会出现
ERROR 1820 (HY000): You must reset your password using ALTER USER statement;

# 这是提示你需要修改密码 当你执行了
SET PASSWORD = PASSWORD('root');

# 如果出现
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

# 你需要执行两个参数来把mysql默认的密码强度的取消了才行 当然也可以把你的密码复杂度提高也行啊
set global validate_password_policy=0; 
set global validate_password_mixed_case_count=2;

# 这时你再执行 就ok了
SET PASSWORD = PASSWORD('root');

# 下面再说一下mysql中的字符集的问题
show variables like "%character%";

# 出现如下情况 可以忽略…………
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

#找到mysql的配置文件 加上几句话就ok 在mysqld下面加上
character-set-server=utf8
collation-server=utf8_general_ci

# 在client下面加上
default-character-set=utf8

展开阅读全文

没有更多推荐了,返回首页