- # 最简单最粗暴的方法 找到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
centos中忘记mysql密码
最新推荐文章于 2024-07-08 03:21:41 发布