Mysql5.7忘記密碼快速且簡單的解決方法,具體方法詳情如下所示:
代碼如下復制代碼# 最簡單最粗暴的方法 找到mysql的配置文件直接編輯
vim /etc/my.cnf
# 在 [mysqld] 中加上一行跳過權限限制
skip-grant-tables
# 保存退出 重啟mysql服務
service mysqld restart
# 用戶登錄
mysql -uroot -p (直接點擊回車,密碼為空)
# 選擇數據庫
use mysql;
# 但是在5.7版本中不存在password字段,所有我們要用以下修改進行重置密碼
updateusersetauthentication_string=password('new password')whereuser='root'
# 刷新權限
flushprivileges;
# 退出mysql
quit;
# 將最開始修改的配置文件my.cnf中的skip-grant-tables刪除 重啟mysql
service mysqld restart
# 當你登陸mysql之後你會發現,當你執行命令時會出現
ERROR 1820 (HY000): You must reset yourpasswordusingALTERUSERstatement;
# 這是提示你需要修改密碼 當你執行了
SETPASSWORD=PASSWORD('root');
# 如果出現
ERROR 1819 (HY000): Yourpassworddoesnotsatisfy thecurrentpolicy requirements
# 你需要執行兩個參數來把mysql默認的密碼強度的取消了才行 當然也可以把你的密碼復雜度提高也行啊
setglobalvalidate_password_policy=0;
setglobalvalidate_password_mixed_case_count=2;
# 這時你再執行 就ok了
SETPASSWORD=PASSWORD('root');
# 下面再說一下mysql中的字符集的問題
show variableslike"%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