mysql忘记密码怎么办?
看这里
mysql密码破解:
1,直接跳密码认证,先进到mysql里面
具体操作:
在/etc/my.cnf的配置文件里
【mysqld】下添加下面一行
skip-grant-table —可以跳过密码认证
[root@localhost mysql]# cat /etc/my.cnf
[mysqld_safe]
[client]
socket=/data/mysql/mysql.sock
[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8
skip-grant-tables
[mysql]
auto-rehash
prompt=\\u@\\d \\R:\\m mysql>
然后重启mysql服务
[root@localhost mysql]# service mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL.. SUCCESS!
[root@localhost mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.30 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
2,flush privileges; 先刷新权限(会加载原来没有加载的权限表)
root@(none) 17:28 mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
3,重置密码
root@(none) 17:29 mysql>set password for root@localhost='Sanchuang1234#';
Query OK, 0 rows affected (0.00 sec)
4,退出数据库
root@(none) 17:30 mysql>quit
Bye
5,将配置文件里添加的那一行注释掉
[root@localhost mysql]# cat /etc/my.cnf
[mysqld_safe]
[client]
socket=/data/mysql/mysql.sock
[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8
#skip-grant-tables
[mysql]
auto-rehash
prompt=\\u@\\d \\R:\\m mysql>
6,再重启服务
[root@localhost mysql]# service mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
7,使用新密码登录
[root@localhost mysql]# mysql -uroot -p'Sanchuang1234#'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.30 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
查看字符集
root@(none) 17:30 mysql>show variables like '%char%';
+--------------------------+----------------------------------+
| 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/local/mysql/share/charsets/ |
+--------------------------+----------------------------------+
8 rows in set (0.01 sec)