1 修改my.cnf
在my.cnf
中添加skip-grant-tables
;
[root@VM_0_9_centos ~]# vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#添加此句话
skip-grant-tables
pid-file=/tmp/mysqld/mysqld.pid
log-error=/var/log/mysqld.log
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
2 重启MySQL服务
[root@VM_0_9_centos ~]# service mysql restart
Shutting down MySQL.. [ OK ]
Starting MySQL..
3 登录
[root@VM_0_9_centos ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.28 MySQL Community Server (GPL)
Copyright (c) 2000, 2019, 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>
4 修改root用户密码
mysql> update mysql.user set authentication_string=password('newpassword') where User='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)
5 再次修改my.cnf
在my.cnf
中注释掉skip-grant-tables
;
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#注释掉此句话
#skip-grant-tables
pid-file=/tmp/mysqld/mysqld.pid
log-error=/var/log/mysqld.log
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
6 再次重启MySQL服务
[root@VM_0_9_centos ~]# service mysql restart
Shutting down MySQL.. [ OK ]
Starting MySQL..