1在配置文件中添加skip-grant-tables后重启mysql,然后直接登录
[root@tyjs09 ~]# cat /etc/my.cnf
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
gtid-mode=on
enforce-gtid-consistency=true
log_error=/data/mysql/data/mysql.log
log_bin=/data/binlog/mysql-bin
secure-file-priv=/tmp
innodb_flush_method=O_DIRECT
lower_case_table_names=1
skip-grant-tables
[client]
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
[root@tyjs09 ~]# service mysql status
ERROR! MySQL is not running
[root@tyjs09 ~]# service mysql start
Starting MySQL. SUCCESS!
[root@tyjs09 ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 8.0.19 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.
mysql>
2更新密码:
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> alter user "root"@"localhost" identified by "123456"; ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘ mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select user,host from user; +------------------+-----------+ | user | host | +------------------+-----------+ | root | % | | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | +------------------+-----------+ 4 rows in set (0.00 sec) mysql> ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql>
3在配置文件中去掉免登录然后重启mysql:
[root@tyjs09 ~]# vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
gtid-mode=on
enforce-gtid-consistency=true
log_error=/data/mysql/data/mysql.log
log_bin=/data/binlog/mysql-bin
secure-file-priv=/tmp
innodb_flush_method=O_DIRECT
lower_case_table_names=1
skip-grant-tables #去掉
[client]
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
[root@tyjs09 ~]# service mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@tyjs09 ~]# mysql -uroot -p123456
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 8
Server version: 8.0.19 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.
mysql>