1.如果忘记了mysql的root密码,可以用以下方法解决(mysql5.5.47为例)?

1)平滑关闭数据库
[root@desktop5 ~]# /etc/init.d/mysql stop
2)跳过授权表开启数据库
[root@desktop5 ~]# mysqld_safe--skip_grant_tables --skip_networking &[1] 83153160114 19:50:08 mysqld_safe Logging to'/var/log/mysqld.log'.160114 19:50:08 mysqld_safe Starting mysqlddaemon with databases from /mysqldata/--skip_grant_tables 跳过授权表--skip_networking  跳过网络,防止其他用户对数据进行读写操作,待密码恢复后可正常开启

3)更改管理员root密码
mysql> update mysql.user setpassword=password('redhat123') where user='root' and host='localhost';Query OK, 1 row affected (0.00 sec)Rows matched: 1  Changed: 1 Warnings: 0mysql> flush privileges;
4)平滑关闭数据库
[root@desktop5 ~]# mysqladmin -uroot-predhat123 shutdown160114 19:51:34 mysqld_safe mysqld from pidfile /var/run/mysqld/mysqld.pid ended[1]+ Done                   mysqld_safe --skip_grant_tables --skip_networking
5).登录验证
[root@desktop5 ~]# /etc/init.d/mysql startStarting MySQL..                                          [  OK  ][root@desktop5 ~]# mysql -uroot -predhat123Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.5.47 MySQL CommunityServer (GPL)Copyright (c) 2000, 2015, Oracle and/or itsaffiliates. All rights reserved.Oracle is a registered trademark of OracleCorporation and/or itsaffiliates. Other names may be trademarks oftheir respectiveowners.Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.mysql> show databases;

2.MySQL5.6初始化时修改mysql数据密码

mysql> set password for root@localhost=password('redhat');Query OK, 0 rows affected (0.00 sec)mysql> update mysql.user setpassword=password("redhat") where host='localhost' and user='root';Query OK, 1 row affected (0.00 sec)# mysqladmin -u root -h desktop5.example.com password 'redhat' -p