首页 > 系统 > CentOS > 正文

centos中忘记mysql密码

2024-06-28 16:00:04
字体:
来源:转载
供稿:网友
# 最简单最粗暴的方法 找到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 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表