现实中,难免会遇到忘记mysql数据库的root密码的时候
[root@oracle11g ~]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@oracle11g ~]#
如上,root密码忘记,现在已经无法登录了。
下面测试跳过密码登录,并重置root密码的过程。
查看当前版本:
[root@oracle11g ~]# rpm -qa | grep MySQL
MySQL-client-advanced-5.6.21-1.rhel5
MySQL-server-advanced-5.6.21-1.rhel5
停止mysql服务:
[root@oracle11g ~]# service mysql stop
Shutting down MySQL.. [ OK ]
[root@oracle11g ~]#
进入到skip-grant-tables模式:
[root@oracle11g ~]# mysqld_safe --skip-grant-tables
150223 23:07:05 mysqld_safe Logging to '/var/lib/mysql/oracle11g.err'.
150223 23:07:05 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
现在就不需要密码就可以进入mysql了:
[root@oracle11g ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.21-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)
Copyright (c) 2000, 2014, 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>
进入mysql系统数据库:
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>
修改root账户密码:
mysql> update user set password=password("root") where user="root";
Query OK, 4 rows affected (0.04 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql>
刷新权限:
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
[root@oracle11g ~]#
停止mysql进程:
[1]+ Stopped mysqld_safe --skip-grant-tables
启动mysql:
[root@oracle11g ~]# service mysql start
Starting MySQL [ OK ]
[root@oracle11g ~]#
使用刚才修改的密码进入mysql:
[root@oracle11g ~]# mysql -uroot -proot
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.6.21-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)
Copyright (c) 2000, 2014, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kevin |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql>
[root@oracle11g ~]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@oracle11g ~]#
如上,root密码忘记,现在已经无法登录了。
下面测试跳过密码登录,并重置root密码的过程。
查看当前版本:
[root@oracle11g ~]# rpm -qa | grep MySQL
MySQL-client-advanced-5.6.21-1.rhel5
MySQL-server-advanced-5.6.21-1.rhel5
停止mysql服务:
[root@oracle11g ~]# service mysql stop
Shutting down MySQL.. [ OK ]
[root@oracle11g ~]#
进入到skip-grant-tables模式:
[root@oracle11g ~]# mysqld_safe --skip-grant-tables
150223 23:07:05 mysqld_safe Logging to '/var/lib/mysql/oracle11g.err'.
150223 23:07:05 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
现在就不需要密码就可以进入mysql了:
[root@oracle11g ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.21-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)
Copyright (c) 2000, 2014, 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>
进入mysql系统数据库:
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>
修改root账户密码:
mysql> update user set password=password("root") where user="root";
Query OK, 4 rows affected (0.04 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql>
刷新权限:
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
[root@oracle11g ~]#
停止mysql进程:
[1]+ Stopped mysqld_safe --skip-grant-tables
启动mysql:
[root@oracle11g ~]# service mysql start
Starting MySQL [ OK ]
[root@oracle11g ~]#
使用刚才修改的密码进入mysql:
[root@oracle11g ~]# mysql -uroot -proot
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.6.21-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)
Copyright (c) 2000, 2014, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kevin |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22213086/viewspace-1484916/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22213086/viewspace-1484916/