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..
该博客介绍了在MySQL中通过安全模式修改root用户密码的步骤。首先,在my.cnf配置文件中添加skip-grant-tables,然后重启MySQL服务。接着,不需权限直接登录MySQL并更新root用户的密码。完成修改后,注释掉skip-grant-tables,再次重启服务,确保系统安全。
552

被折叠的 条评论
为什么被折叠?



