在linux平台下使用mysql过程中忘记了root密码,对于运维和DBA来讲都是一件头疼的事情,下面来讲解下怎么进行重置mysql数据库root 密码:
1、首先停止mysql服务进程:
1 service mysqld stop
然后编辑mysql的配置文件my.cnf
1 vim /etc/my.cnf
找到 [mysqld]这个模块:
在最后面添加一段代码
1 skip-grant-tables ##忽略mysql权限问题,直接登录
然后保存 :wq!退出
启动mysql服务:
1 service mysqld start
直接进入mysql数据库:
1 Starting MySQL. SUCCESS! 2 [root@web1 ~]# mysql 3 Welcome to the MySQL monitor. Commands end with ; or g. 4 Your MySQL connection id is 1 5 Server version: 5.6.34 Source distribution 6 7 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 8 9 Oracle is a registered trademark of Oracle Corporation and/or its 10 affiliates. Other names may be trademarks of their respective 11 owners. 12 13 Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. 14 15 mysql>
使用mysql表,然后进行修改mysql的root密码:
1 mysql> use mysql; ##使用mysql数据库 2 Reading table information for completion of table and column names 3 You can turn off this feature to get a quicker startup with -A 4 5 Database changed 6 mysql> update user set password=password("123456") where user="root";##更新密码 7 Query OK, 4 rows affected (0.00 sec) 8 Rows matched: 4 Changed: 4 Warnings: 0 9 10 mysql> flush privileges;##刷新权限 11 Query OK, 0 rows affected (0.00 sec)
1 [root@web1 ~]# ps -ef |grep mysql ##显示mysql现有的进程 2 root 56407 1 0 17:50 pts/0 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/web1.pid 3 mysql 56533 56407 0 17:50 pts/0 00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/web1.err --pid-file=/data/mysql/web1.pid 4 root 56560 1737 0 17:55 pts/0 00:00:00 grep mysql 5 [root@web1 ~]# killall mysqld ##删除mysql现有进程 6 [root@web1 ~]# ps -ef |grep mysql 7 root 56566 1737 0 17:56 pts/0 00:00:00 grep mysql 8 [root@web1 ~]# service mysqld start ##重新启动mysql服务 9 Starting MySQL. SUCCESS! 10 [root@web1 ~]# mysql -uroot -p ##使用新密码登录 11 Enter password: 12 Welcome to the MySQL monitor. Commands end with ; or g. 13 Your MySQL connection id is 1 14 Server version: 5.6.34 Source distribution 15 16 Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. 17 18 Oracle is a registered trademark of Oracle Corporation and/or its 19 affiliates. Other names may be trademarks of their respective 20 owners. 21 22 Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. 23 24 mysql>
注意:先把mysql服务进程关闭,把添加过的跳过验证信息删除,要不然对数据库安全威胁太大,
5.7版本
# 设置账户密码并退出
update user set authentication_string=password('PASSWORD') where user='root';